Настройка Fenom
Здравствуйте!
Внимательно почитал статью об использовании Fenom в чанках, почитал документацию к Fenom, но то ли лыжи не едут, то ли я кхм-кхм…
Суть вопроса в том, что Fenom просто не работает.
Вызываю просто чанк head со стилями и прочим, но мне на страницу вываливается просто сам вызов {include 'head'}
Как я понимаю, все, что нужно сделать, чтобы его включить, это в системных настройках
Если нет, то пните меня хорошенько в то место, где об этом написано.
Внимательно почитал статью об использовании Fenom в чанках, почитал документацию к Fenom, но то ли лыжи не едут, то ли я кхм-кхм…
Суть вопроса в том, что Fenom просто не работает.
Вызываю просто чанк head со стилями и прочим, но мне на страницу вываливается просто сам вызов {include 'head'}
Как я понимаю, все, что нужно сделать, чтобы его включить, это в системных настройках
Использовать Fenom в чанках
pdotools_fenom_default
Разрешить MODX в Fenom
pdotools_fenom_modx
Установить «Да». А затем можно вызвать любой чанк {include 'chunkname'}, так? Если нет, то пните меня хорошенько в то место, где об этом написано.
Поблагодарить автора
Отправить деньги
Комментарии: 34
pdoTools то свежей версии, или вы, возможно на древней пытаетесь это делать?
самой самой свежей
Возможно где то в верстке есть скобки {}. Надо их найти и сделать так:
{ignore}
Тут скобки или кусок кода содержащий такие скобки
{/ignore}
В том чанке не было такого кода, но когда я убрал вызов слайдера-карусели в конце страницы, проблема исчезла. Большое спасибо!
Чтобы феном работал в шаблонах, нужно включить pdotools_fenom_parser (Использовать Fenom на страницах). А вот pdotools_fenom_modx включать не обязательно.
а так {$_modx->getChunk('MyChunk@PropertySet')} не вызывается? в соответствии с документацией
Вообще ничего не работало. Но, как оказалось, дело не в лыжах, а в моей криворукости. Надо было JS скрипт в конце страницы в {ignore} поместить.
Ну так я выше тебе писал про это.
Буквально вчера тоже столкнулся с подобной проблемой. Вариант решения — поставить пробел после {. Тогда парсер не воспринимает это как тэг fenom.
Если я не ошибаюсь, то уже работает тег {ignore}. По крайней мере на крайних версиях pdoTools мне удавалось его использовать.
дабы не создавать отдельную тему спрошу здесь.
можно ли как-то упростить такую конструкцию?
можно ли как-то упростить такую конструкцию?
{if $_modx->resource.id == 1}
{'chunkname' | chunk}
{/if}
почему не работает такая конструкция?{if $_modx->resource.parent == 9 || 10 || 11 || 12}
{'chunkname' | chunk}
{/if}
Так еще можно
{if $_modx->resource.parent in [9,10,11,12]}
{'chunkname' | chunk}
{/if}
Пока печатал на планшете, уже ответили
Спасибо. А как здесь исключить, допустим, 13-ый ресурс?
В квадратных скобках Вы указываете id, при которых будет срабатывать условие. Остальные будут исключены
А если 13-ый ресурс является потомком одного из этих родителей, но на нем чанк выводить не надо?
Вроде так должно работать
{if $_modx->resource.parent in [9,10,11,12]}
{'chunkname' | chunk}{ifelse $_modx->resource.id in [13]}
{/if}
ifelse -> elseif
Справедливая поправка. Прошу прощения, после работы глаз замылен
{if $_modx->resource.parent in [9,10,11,12]}
как на fenom написать многомерный массив?
Для решения проблем, связанных с самим шаблонизатором, а не его работы с MODX есть документация
читал уже, нашел бы решение — не спрашивал бы
может вы подскажите?
получаю с тв строку, допустим «wedding», как вывести значения из массива?
может вы подскажите?
получаю с тв строку, допустим «wedding», как вывести значения из массива?
{var $type = $_pls['tv.article_type'] | strip : true}
{set $array = [
$wedding = [
"title_text" => "Свадьба",
"link_text" => "Свадьбы",
"page_id" => "108",
],
$birthday = [
"title_text" => "День рождения",
"link_text" => "Дни рождения",
"page_id" => "109",
]
]}
{$array.$type.page_id}
Простой пример из miniShop2. Может он как-то поможет? Я не могу сейчас проверить ваш код и что-нибудь подсказать, к сожалению.
<div id="msGallery">
{if $files?}
<div class="fotorama"
data-nav="thumbs"
data-thumbheight="45"
data-allowfullscreen="true"
data-swipe="true"
data-autoplay="5000">
{foreach $files as $file}
<a href="{$file['url']}" target="_blank">
<img src="{$file['small']}" alt="" title="">
</a>
{/foreach}
</div>
{else}
<img src="{('assets_url' | option) ~ 'components/minishop2/img/web/ms2_medium.png'}"
srcset="{('assets_url' | option) ~ 'components/minishop2/img/web/ms2_medium@2x.png'} 2x"
alt="" title=""/>
{/if}
</div>
{$array[$type]['page_id']}
{$array[$type]['page_id']}
почему-то не работает{$type['page_id']}
если «wedding» выдает «w», если «birthday» выдает «b»прямой запрос
{$wedding['page_id']}
работает нормально {$array[$wedding]['page_id']}
тоже не работает
Из документации fenom
Дополнительно с ключом key будут сделаны следующие преобразования:
…
Массивы (тип array) и объекты (тип object) не могут использоваться в качестве ключей. При подобном использовании будет генерироваться предупреждение: Недопустимый тип смещения (Illegal offset type).
что делать уже не знаю, с нуля сайт делаю и fenom не работает. В modx всё включаю, но результат ноль.
Дайте посмотреть?
Можете прислать данные в личку.
Можете прислать данные в личку.
Спасибо большоё, всё заработало! Может мои корявые руки! Хотя до этого даже кэш чистил и ничего, а тут так вдруг и стал работать! :))
как исключить ресурс, на котором мы находимся?
{'pdoResources' | snippet : [
'resources' => '-?'
]}
'resources' => -$_modx->resource.id,
а как следующие ресурсы указать?
использовать оператор конкатенации ~
например
например
'resources' => -$_modx->resource.id~',22,33',
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.