Побочный эффект в новом pdoTools
Вчера обновил pdoTools — тут же обнаружил побочный эффект. Начал глючить встроенный в MODx механизм PHx.
Например я на одном сайте (мультиязычном, на контекстах) вывожу список филиалов компании только на русском языке. Следующей конструкцией:
[[++context:is=`ru`:then=`[[$affiliates]]` ]]
после обновления pdoTools эта конструкция стала возвращать пустую строку. Но конструкции
[[++context]] = возвращает ru
[[++context:is=`ru`:then=`+`]] = возвращает +
пробую снова
[[++context:is=`ru`:then=`[[$affiliates]]` ]]
— пустая строка…
Такая же абсолютно беда на этом же сайте с конструкцией:
[[++context:ne=`tgm`:then=`[[$btnLanguageSelect]]` ]]
Решил удалить pdoTools (благо не построил серьёзных зависимостей от него ещё):
всё сразу заработало как было задумано и работало уже полгода надёжно.
Вобщем в pdoTools 1.9.0 закралась где-то ошибка. Возможно как-то связано с разными контекстами.
Например я на одном сайте (мультиязычном, на контекстах) вывожу список филиалов компании только на русском языке. Следующей конструкцией:
[[++context:is=`ru`:then=`[[$affiliates]]` ]]
после обновления pdoTools эта конструкция стала возвращать пустую строку. Но конструкции
[[++context]] = возвращает ru
[[++context:is=`ru`:then=`+`]] = возвращает +
пробую снова
[[++context:is=`ru`:then=`[[$affiliates]]` ]]
— пустая строка…
Такая же абсолютно беда на этом же сайте с конструкцией:
[[++context:ne=`tgm`:then=`[[$btnLanguageSelect]]` ]]
Решил удалить pdoTools (благо не построил серьёзных зависимостей от него ещё):
всё сразу заработало как было задумано и работало уже полгода надёжно.
Вобщем в pdoTools 1.9.0 закралась где-то ошибка. Возможно как-то связано с разными контекстами.
Комментарии: 10
Проверил журнал ошибок с уровнем записи INFO — пусто
1. Нужно было просто отключить pdoParser
2. Или вызвать фильтр вот так:
2. Или вызвать фильтр вот так:
[[[[++context:is=`ru`:then=`$affiliates`]]]]
Ну а вообще да, это баг — но я везде указываю, что парсер эксперементальный.
Я ничего против не имею, в отличие от Андрюши Чиркова ))
Как отключить pdoParser? Тут не нашёл: bezumkin.ru/modx/pdotools/
Как отключить pdoParser? Тут не нашёл: bezumkin.ru/modx/pdotools/
А вот тут? docs.modx.pro/components/pdotools/parser
ОК, спасибо.
2 вариант не подходит, потому что надо в div чанк завернуть на этом этапе
Подходит.
Если условие сработает — на выходе получится [[$affiliates]], а если нет, то [[]].
Это старый фокус, который позволяет не обрабатывать вложенные чанки до выполнения условия.
Если условие сработает — на выходе получится [[$affiliates]], а если нет, то [[]].
Это старый фокус, который позволяет не обрабатывать вложенные чанки до выполнения условия.
Это я сразу понял, просто мне ещё надо часть html кода при срабатывании вставить…
Забей, решение найдено. Спасибо.
Забей, решение найдено. Спасибо.
Подтверждаю. С отключенным экспериментальным pdoParser вышеописанные симптомы не возникают.
Ну тогда запость описание бага на GitHub, чтобы я его поправил в новой версии.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.