Парсер fenom в шаблоне без конфликтов...
Всем на заметку!
Все чаще лазя по проектам заметил что в основном используют стандартный парсер (неудобный), если подрубить феном на страницах бывают конфликты со скриптами, нужно переделывать массу шаблонов так как тэг {ignore} не всегда правильно работает!
Апдейт:
Все чаще лазя по проектам заметил что в основном используют стандартный парсер (неудобный), если подрубить феном на страницах бывают конфликты со скриптами, нужно переделывать массу шаблонов так как тэг {ignore} не всегда правильно работает!
[[!fenom_block?
&input=`pagetitle - {$_modx->resource.pagetitle}`
]]
Сниппет fenom_block:Апдейт:
<?php
/** @var modX $modx */
/** @var pdoFetch $pdoTools*/
$pdoTools = $modx->getParser()->pdoTools;
return $pdoTools->fenom($input,array_merge($pdoTools->config,$scriptProperties));
Старый код:<?php
/** @var modX $modx */
/** @var pdoFetch $pdoFetch */
$fqn = $modx->getOption('pdoFetch.class', null, 'pdotools.pdofetch', true);
$path = $modx->getOption('pdofetch_class_path', null, MODX_CORE_PATH . 'components/pdotools/model/', true);
if ($pdoClass = $modx->loadClass($fqn, $path, false, true)) {
$pdoFetch = new $pdoClass($modx, $scriptProperties);
} else {
return false;
}
$pdoFetch->addTime('pdoTools loaded');
return $pdoFetch->fenom($input,array_merge($pdoFetch->config,$scriptProperties));
Поблагодарить автора
Отправить деньги
Комментарии: 5
Отличный пример как делать нельзя. Это максимально жесткий сценарий оверхеда нагрузки.
Подробности описаны мной тут.
Подробности описаны мной тут.
Сергей, спасибо за статью, оптимизировал сниппет выше!
Не совсем понял в чем решение… Да, есть стандартный парсер; да, некоторые «миксуют» его с Феномом. И? Ты предлагаешь вместо того, что бы прописать {ignore} там, где надо, подключить (написать) сниппет-обёртку, в который будут передаваться феном-чанки?
А что у вас хотя бы где-то работают теги {ignore}?
Лично в моем опыте они ниразу не сработали. Правда последние года я перестал их даже пытаться исрользовать и может за это время что-то исправлено.
Лично в моем опыте они ниразу не сработали. Правда последние года я перестал их даже пытаться исрользовать и может за это время что-то исправлено.
Не знаю, не помню когда в последний раз использовал эту конструкцию. Раньше да, помнится были какие-то проблемы.
Мне кажется, лучше пройтись по шаблонам и сразу сделать правильно. Дополнительный сниппет — это дополнительная нагрузка на систему.
Мне кажется, лучше пройтись по шаблонам и сразу сделать правильно. Дополнительный сниппет — это дополнительная нагрузка на систему.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.