Tickets и Output Filter

Вызываю сниппет getTickets с параметром &fastMode=`0`. По идее output filters должны работать.

Использую вот такой: [[+username:is=`[[!loggedInUsername]]`:then=`do smth`]]. Отдельно [[+username]] и [[!loggedInUsername]] работают нормально. Сам фильтр использую в других местах, так же работает нормально.

В чем загвоздка, не пойму…
Ян Такушевич
27 февраля 2013, 15:51
modx.pro
1 053
0

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

Василий Наумкин
27 февраля 2013, 20:16
0
Попробуй не кэшировать плейсхолдер.
[[!+username:is=`[[!loggedInUsername]]`:then=`do smth`]]

Или наоборот, кэшировать сниппет:
[[+username:is=`[[loggedInUsername]]`:then=`do smth`]]

Еще, говорят, помогает добавлять пустой else, тоже от кэширования
[[+username:is=`[[loggedInUsername]]`:then=`do smth`:else=``]]
    Ян Такушевич
    27 февраля 2013, 21:05
    0
    Мистика какая-то.
    [[+username:is=`[[loggedInUsername]]`:then=`do smth`:else=`do smth else`]]
    — вот так работает, но разумеется после первого же вызова кэшируется и у всех юзеров показывает одно и то же. Во всех остальных случаях условие обрабатывается некорректно.
      Василий Наумкин
      27 февраля 2013, 21:58
      0
      Ну тогда надо просто использовать сниппет и забить на эти дурацкие фильтры

      [[!loggedInUsername?username=`[[+username]]`]]
      Ян Такушевич
      27 февраля 2013, 21:10
      0
      А вот так:
      [[!If? &subject=`[[+username]]` &operand=`[[!loggedInUsername]]` &then=`do smth` &else=`do smth else`]]
      работает.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      4