Модификаторы

Доброго дня.

Подскажите пожалуйста, можно ли работать с модификаторами в связке с pdoPage?
Конструкции такого вида всегда отрабатывают else, что бы я не подставляла и не делала.
[[+tv.presence:is=`1`:then=`да`:else=`нет`]]

ТВ включила, если просто вывести — оно показывается как 1. Но в конструкции не работает.

Подскажите, пжл, в чем может быть проблема? Или модификатор нельзя использовать в сниппете?

Заранее, спасибо.

PS: пробовала так — {$presence | in: '1'? 'ключ найден': 'не найден'}. все равно отрабатывает else
Татьяна
05 августа 2021, 14:17
modx.pro
468
0

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

Наумов Алексей
05 августа 2021, 15:37
0
{$presence}
Выводит единицу «1»?

Для парсера Fenom будет корректно тогда выражение
{if $presence == "1"}
{else}
{/if}
    Татьяна
    05 августа 2021, 15:45
    0
    {{+tv.presence}} такая выводит.

    а простая запись {if $presence == «1»} В наличии {/if} — не отрабатывает
      Наумов Алексей
      05 августа 2021, 15:51
      0
      {{+tv.presence}}
      это вообще что?..
        Татьяна
        05 августа 2021, 15:56
        0
        тв, список, одиночный выбор. заполнение Есть==1||Нет==0
          Татьяна
          05 августа 2021, 15:58
          0
          пробовала писать и так и этак, либо вообще не отрабатывает, либо отрабатывает как простая переменная, т.е. пишет просто по порядку Есть Нет, как будто условия вообще нет
      Andrey
      05 августа 2021, 17:42
      0
      Плохо понятно. Конструкция верная и должна отрабатывать. Но где здесь pdoPage? Вы это прямо в самом сниппете, внутри, хотите использовать?
        Евгений Webinmd
        05 августа 2021, 21:31
        0
        очень надеюсь что это в отдельном чанке, а не в INLINE
          Татьяна
          06 августа 2021, 00:36
          0
          ага, именно там где вы думаете.

          к сожалению я поняла уже что есть проблемы с вызовом именно тут. но так и не смогла прокрасться к верному решению.

          &tpl=`@INLINE: [[+pagetitle]] купить в Минске
          [[+pagetitle]]
          [[+tv.dopifaProduct]]

          {{+tv.presence}}
          {if $tv.presence | match: '1'} да {/if}
          {if $tv.presence == «1»} Да {/if}



          `

          в общем, сия конструкция отрабатывает только первая, показывает единицу. остальные — глухо. хоть и смотрела документацию, все равно не понимаю что я делаю не так.
          уже дошло до того что тупо начала перебирать варианты написания, я думала может кавычки какие неправильно написала, или еще что, бывает же что поставишь что-нибудь не то.

          вынос в отдельный чанк — не вариант, у меня таких пару страниц и на каждой отдельная фильтрация, поэтому надо так реализовать.
          можно попробовать как то написать свою функцию, но не знаю точно, будет ли она работать с тв, и не будет ли вызов моей функции замедлять страницу вывода.

          в общем, проблема расцвела буйным цветом) прям обидно, никогда не подумала бы что тут окажется засада.
            Евгений Webinmd
            06 августа 2021, 00:39
            0
            в INLINE чанках не работают модификаторы(фильтры вывода) модх, попробуйте заменить на fenom

            {if $_pls['tv.presence'] == 1} Да {/if}
              Татьяна
              06 августа 2021, 00:54
              0
              в INLINE чанках не работают модификаторы(фильтры вывода)
              да я уже это поняла)

              и спасибо вам, Евгений, Огромное! Вы мне очень, очень помогли)

              сделала через else — и все заработало как мне надо. прям душа порадовалась)
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          10