Проблема со вложенными IF после обновления на 1.4.9

Добрый день!
После обновления с 1.4.3 на 1.4.9 получил вот такую картину.

Пробовал менять вызов if и вложенных сниппетов на некешируемый, всякие варианты испробовал, не помогает.
Внутри if используются еще один или несколько if а также другие сниппеты.
В чем может быть проблема?

9 комментариев

avatar
Если товары ты выводишь с помощью доклистера, то вообще избавься от сниппетов в шаблоне tpl. Делай все в prepare
avatar
Очень много придется переписывать…
Сейчас там проверка на пустоту TV на IF сделана, цена в зависимости от зарегистрированности пользователя и прочая мелкая логика…
Странно, почему перестало работать?
avatar
С ходу сложно сказать почему т к нет доступа к админке.
да как мне кажется лучше 1 раз переписать тем более займет не больше чем сейчас мучаетесь)))

if($modx->getLoginUserID()){
//цена для авторизованных
if(empty($data['price1']){
    $data['price'] = $data['price2'];
}else{
    $data['price'] = $data['price1'];
}
}else{
//цена для неавторизованных
1}

if($data['price'] > 0) $data['price'] = number_format($data['price'], 2, '', ' '); //если копейки не нужны поставь 0 вместо 2

return $data;
avatar
вот пример наброска для prepare переделай под себя и избавь себя от вложенных сниппетов в шаблоне
avatar
Спасибо, буду думать в эту сторону.
avatar
Это особенность с версии 1.4.8
github.com/evolution-cms/evolution/releases/tag/1.4.8

вот тут почитайте в релизе все описано.

Суть в том что если у нас больше 2-х вложенностей сниппетов там гененриться доп нагрузка в целом оно решается включением модификаторов но лучшее решение это через prepare разрулить или написать свой сниппет который исключит надобность двойной вложенности.
avatar
Понял, спасибо!
avatar
Добрый день!
Поставил версию 1.4.10, там такая же проблема, но в настройках не нашел параметра Enable modifiers.
Подскажите, что делать?
avatar
Переделывать
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.