Почему не срабатывает условие 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
Lori
09 февраля 2022, 16:20
modx.pro
1 063

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

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

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