Почему не срабатывает условие if в чанке tpl.msEmail?
Здравствуйте!
На сайте есть нестандартный заказ, для которого потребовался свой чанк письма. Создал для него чанк tpl.EmailBusinessOrder и в чанке tpl.msEmail написал:
Соответственно вопросы:
1) почему не срабатывает условие?
2) как сделать отдельный чанк для определенного письма — там всегда только один товар с определенной категории.
На сайте есть нестандартный заказ, для которого потребовался свой чанк письма. Создал для него чанк tpl.EmailBusinessOrder и в чанке tpl.msEmail написал:
{if 'Бизнес заказ' | in : $address.extfld_type}
{'tpl.EmailBusinessOrder' | chunk}
{else}
{'tpl.EmailMainOrder' | chunk}
{/if}
Но всегда подгружается первый чанк, а условие if будто и не обрабатывается. Поле extfld_type 100% верно заполняется при этом заказе и пустое при обычных заказах.Соответственно вопросы:
1) почему не срабатывает условие?
2) как сделать отдельный чанк для определенного письма — там всегда только один товар с определенной категории.
Комментарии: 7
$address.extfld_type какое значение имеет?
Может проблема в неверном использовании in? Там есть in list еще, это разные вещи: оператор in
Может проблема в неверном использовании in? Там есть in list еще, это разные вещи: оператор in
Обычная строка, поэтому in. В доках так и написано "in — оператор проверки наличия подстроки в строке"
Попробуйте
{if 'Бизнес заказ' in string $address.extfld_type}
ну и наверное не
$a | in : $b
а $a in $b
чекните синтаксис в доках docs.modx.pro/komponentyi/pdotools/parser
Попробуй
{if $address.extfld_type | match: '*Бизнес заказ*' }
решилось, оказывается кастомный msOrderHandler был написан. Со стандартным все работает нормально
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.