Fenom и toPlaceholder
Как я понимаю, феном не сможет прочитать плейсхолдер, установленный сниппетом через toPlaceholder?
Или я что-то упустил?
Мой сниппет:
И интересно что неважно, каким образом запущен сниппет, через Fenom или обычным способом, плейсхолдер не подхватывается феномом, в то время как другие теги, типа {$pagetitle} работают прекрасно.
В чём может быть загвоздка?
Или я что-то упустил?
Мой сниппет:
{$_modx->runSnippet('!pdoField', [
'id' => $id,
'field' => 'longtitle',
'top' => 1,
'toPlaceholder' => 'placeholder_name',
])}Далее при вызове плейсхолдера:[[+placeholder_name]] // этот вариант работает
{$placeholder_name} // этот не работает и выбивает весь феном из чанка в сырые тегиИ интересно что неважно, каким образом запущен сниппет, через Fenom или обычным способом, плейсхолдер не подхватывается феномом, в то время как другие теги, типа {$pagetitle} работают прекрасно.
В чём может быть загвоздка?
Комментарии: 20
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Например, есть mFilter2 с параметром:
В чанке при вызове
Короче ситуация такая же…
Как решить эту проблему? Или оставить так?
Если шаблон не может даже скомпилироваться, то до его выполнения дело вообще не доходит.
Не работает никак, ни с получением установленного плейсхолдера, ни с правильным синтаксисом!
Мне всё же кажется, что проблема в названии плейсхолдера, т.к. он через тире: placeholder-name и tv-name.
Потому что при подключении тв у mFilter2 без тире, например:
в чанке
а с тире нет:
Если речь о ТВ в чанке, то можно так
Если на странице, то так:
Я бы долго ещё думал, пока бы не додумался до тире в сочетании с $_pls[]…
Вопрос полностью решён!
Ты журнал системы вообще не читаешь, принципиально?
Журнал системы у меня ничего не показывал, т.к. log_level был установлен на 1
Я бы, на твоём месте, разобрался, почему журнал системы не работает.
Никак не завелось. Пришлось переименовывать тв-шку в tv_name_of_name_of_other_name и переписывать все места, где она встречалась.
P.S. Хотя по видимому работает, т.к. он спотыкается на сырые теги в вызове Office, видно я там не всё переписал на феном. Удалив его всё заработало, вывело чистый код из базы. Тут я и заметил, что у базы кодировка была неправильной — вывело кракозябры ))).
Спасибо за ещё один вариант вывода — он обязательно пригодится!
Вот пример:
С modx-плейсхолдерами всё работало, даже если вставить плейсхолдер до вывода сниппета.
Как обойти этот момент на Феноме? Делать 2 вызова сниппета? Или использовать параметр toPlaceholder (только для pdo-сниппетов)?
1. Видим [[+totalMy]], значения нет
2. Видим [[!getTickets]], запускаем, он выставляет значение
3. Проверяем, что у нас осталось необработанного
4. Запускаемся еще раз и вот теперь только обрабатываем [[+totalMy]]
5. Ой, а чего это у меня так всё тормозит?
Fenom работает один раз и позволяет сохранять работу сниппетов в переменные:
Спасибо, всё оказывается проще чем казалось на первый взгляд!
Как ни странно, это есть даже в документации.
В чанке mFilter2 установлен {include 'chunk-name'} с множеством модификаторов на замену внутри
Как задать вариацию в таком случае, чтобы не клонировать одни и те же чанки в которых [[+tv.myTV:replace=`==`]] замены уже существуют в чанке с +title? Делаю так — результат по параметру {$_pls['myTV']} не выводит