Tickets и Output Filter
Вызываю сниппет getTickets с параметром &fastMode=`0`. По идее output filters должны работать.
Использую вот такой: [[+username:is=`[[!loggedInUsername]]`:then=`do smth`]]. Отдельно [[+username]] и [[!loggedInUsername]] работают нормально. Сам фильтр использую в других местах, так же работает нормально.
В чем загвоздка, не пойму…
Использую вот такой: [[+username:is=`[[!loggedInUsername]]`:then=`do smth`]]. Отдельно [[+username]] и [[!loggedInUsername]] работают нормально. Сам фильтр использую в других местах, так же работает нормально.
В чем загвоздка, не пойму…
Комментарии: 4
Попробуй не кэшировать плейсхолдер.
Или наоборот, кэшировать сниппет:
Еще, говорят, помогает добавлять пустой else, тоже от кэширования
[[!+username:is=`[[!loggedInUsername]]`:then=`do smth`]]
Или наоборот, кэшировать сниппет:
[[+username:is=`[[loggedInUsername]]`:then=`do smth`]]
Еще, говорят, помогает добавлять пустой else, тоже от кэширования
[[+username:is=`[[loggedInUsername]]`:then=`do smth`:else=``]]
Мистика какая-то.
[[+username:is=`[[loggedInUsername]]`:then=`do smth`:else=`do smth else`]]
— вот так работает, но разумеется после первого же вызова кэшируется и у всех юзеров показывает одно и то же. Во всех остальных случаях условие обрабатывается некорректно.
Ну тогда надо просто использовать сниппет и забить на эти дурацкие фильтры
[[!loggedInUsername?username=`[[+username]]`]]
А вот так:
[[!If? &subject=`[[+username]]` &operand=`[[!loggedInUsername]]` &then=`do smth` &else=`do smth else`]]
работает.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.