Парсер fenom в шаблоне без конфликтов...

Всем на заметку!
Все чаще лазя по проектам заметил что в основном используют стандартный парсер (неудобный), если подрубить феном на страницах бывают конфликты со скриптами, нужно переделывать массу шаблонов так как тэг {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));
vectorserver
04 апреля 2024, 08:38
modx.pro
682
+6
Поблагодарить автора Отправить деньги

Комментарии: 5

Сергей Шлоков
08 апреля 2024, 08:11
+1
Отличный пример как делать нельзя. Это максимально жесткий сценарий оверхеда нагрузки.
Подробности описаны мной тут.
    vectorserver
    08 апреля 2024, 09:41
    0
    Сергей, спасибо за статью, оптимизировал сниппет выше!
    Максим
    24 апреля 2024, 08:44
    0
    Не совсем понял в чем решение… Да, есть стандартный парсер; да, некоторые «миксуют» его с Феномом. И? Ты предлагаешь вместо того, что бы прописать {ignore} там, где надо, подключить (написать) сниппет-обёртку, в который будут передаваться феном-чанки?
      Александр Мельник
      24 апреля 2024, 08:48
      0
      А что у вас хотя бы где-то работают теги {ignore}?
      Лично в моем опыте они ниразу не сработали. Правда последние года я перестал их даже пытаться исрользовать и может за это время что-то исправлено.
        Максим
        24 апреля 2024, 09:56
        0
        Не знаю, не помню когда в последний раз использовал эту конструкцию. Раньше да, помнится были какие-то проблемы.

        Мне кажется, лучше пройтись по шаблонам и сразу сделать правильно. Дополнительный сниппет — это дополнительная нагрузка на систему.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      5