Почему не срабатывает условие if в чанке tpl.msEmail?

Здравствуйте!

На сайте есть нестандартный заказ, для которого потребовался свой чанк письма. Создал для него чанк tpl.EmailBusinessOrder и в чанке tpl.msEmail написал:
{if 'Бизнес заказ' | in : $address.extfld_type}
{'tpl.EmailBusinessOrder' | chunk}
{else}
{'tpl.EmailMainOrder' | chunk}
{/if}
Но всегда подгружается первый чанк, а условие if будто и не обрабатывается. Поле extfld_type 100% верно заполняется при этом заказе и пустое при обычных заказах.

Соответственно вопросы:
1) почему не срабатывает условие?
2) как сделать отдельный чанк для определенного письма — там всегда только один товар с определенной категории.
Lori
09 февраля 2022, 16:20
modx.pro
681
0

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

Наумов Алексей
09 февраля 2022, 16:32
0
$address.extfld_type какое значение имеет?

Может проблема в неверном использовании in? Там есть in list еще, это разные вещи: оператор in
    Lori
    09 февраля 2022, 16:34
    0
    Обычная строка, поэтому in. В доках так и написано "in — оператор проверки наличия подстроки в строке"
      Наумов Алексей
      09 февраля 2022, 17:08
      0
      Попробуйте

      {if 'Бизнес заказ' in string $address.extfld_type}
    Наумов Алексей
    09 февраля 2022, 16:34
    0
    ну и наверное не
    $a | in : $b
    а
    $a in $b
    Артур Шевченко
    09 февраля 2022, 19:43
    0
    Попробуй
    {if $address.extfld_type | match: '*Бизнес заказ*' }
      Lori
      10 февраля 2022, 19:05
      0
      решилось, оказывается кастомный msOrderHandler был написан. Со стандартным все работает нормально
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      7