Различный текст почтовых уведомлений в зависимости от метода доставки

Возникла задача, в зависимости от выбранного способа доставки клиенту на почту отправлять разные сообщения, но не могу понять как это реализовать. Идея примерно такая: в редактировании уведомления покупателю при смене конкретного статуса.

{% if order_info.shipping_ids = "13" %} 
Текст соответствующий 13-му методу доставки
{% endif %}

{% if order_info.shipping_ids = "14" %} 
Текст соответствующий 14-му методу доставки
{% endif %}

Идея то есть, но не могу понять, как это написать так, чтобы оно заработало, толкните в нужном направлении, пожалуйста.

1 лайк

Видимо, нужно пробегать по массиву {{ o.shipping }} и там уже условие ставить. Если даже один метод доставки у заказа, он хранится в массиве

https://twig.symfony.com/doc/2.x/tags/for.html

Во-первых, двойной знак равенства нужно использовать в сравнении.

Далее, читайте внимательно: В сниппете документа это выглядит вот так:

{% if o.shipping.0.shipping_id == 13 %}

В уведомлении у вас наверняка есть документ order.summary, у него создайте новый сниппет, в коде сниппета создайте нужные вам условия, вставляйте сниппет в нужное место документа. Сделайте так и получите, что вам нужно.

Как прописать такое условие напрямую в коде документа и/или уведомления - не знаю. Не было такой задачи в этих местах сделать. Нужно экспериментировать. К сожалению, явно в документации не описано, как это делать. Я много времени провел, чтобы самостоятельно выудить нужный синтаксис в сниппете.

У меня вот в этом месте уведомления сниппет отображает разную информацию в зависимости от способа доставки:

Сделал как вы мне сказали, создал сниппет, в нем прописал для проверки

{% if o.shipping.0.shipping_id == 13 %}
Текст 13
{% endif %}

{% if o.shipping.0.shipping_id == 14 %}
Текст 14
{% endif %}

В уведомлении добавляю этот сниппет:
{{ include_doc("deliver") }}

При отправке - пустота(

Неверно. Речь идет не об отдельном сниппете (шапка, подвал), а о сниппете документа. В документе нужно создать сниппет, этот сниппет документа нужно вставить в документ, документ нужно вставить в уведомление.

Вот где находятся сниппеты докомента:

Код для вставки сниппета в документ:

 {{ snippet("ship_to") }}
Оффтоп

Яйцо в утке, утка в зайце, заяц в шоке!