Как вставить блок «Заказ» в собственную HTML-рассылку
В Convead можно создать рассылку, на основе шаблонов (применяя визуальный конструктор) или с нуля, используя язык HTML.
В визуальном конструкторе рассылки блок «Заказ» вставляется перетаскиванием соответствующего элемент из сайдбара. Чтобы вставить заказ в HTML-рассылку нужно прописать инструкции на языке шаблонов Liquid.
Использование элементов языка Liquid в элементе «Заказ» в HTML-рассылке позволяет отправлять полностью кастомизированное триггерное письмо с полным составом и стоимостью заказа.
Важный момент! Блоки с динамическим контентом доступны только при вёрстке триггерных рассылок.
Объект заказа доступен в HTML-шаблоне под именем order. У данного объекта доступны следующие методы:
- line_items – коллекция товаров заказа;
- display_revenue – итоговая сумма заказа.
- revenue – итоговая сумма заказа без валюты.
- order_id – уникальный номер заказа.
Для экземпляра коллекции товаров доступны следующие методы:
- name — название товара (из XML фида);
- url — ссылка карточки товара в магазине (из XML фида);
- picture — ссылка на изображение товара (из XML фида);
- qnt — количество товара в заказе;
- price — цена товара;
- total – итоговая цена товара в заказе (кол-во * цена).
Простейший пример вывода строк заказа в HTML-рассылке:
<code><!-- начало списка товаров --> <br><table> <br><tr> <br><td>Image</td> <br><td>Product</td> <br><td>Price</td> <br><td>Quantity</td> <br><td>Total</td> <br></tr> <br>{% for line_item in order.line_items %} <br><tr> <br><td><img src="{{ line_item.picture }}" /></td> <br><td><a href="{{ line_item.url }}">{{ line_item.name }}</a></td> <br><td>{{ line_item.price }}</td> <br><td>{{ line_item.qnt }} шт.</td> <br><td>{{ line_item.total }}</td> <br></tr> <br>{% endfor %} <br></table> <br> <b>Итого на сумму: {{ order.display_revenue }}</b> <br><!-- конец списка товаров -->
Здесь показано, как можно использовать все доступные атрибуты заказа и товары, которые в нем присутствуют.
Для кастомизации элементов заказа вы можете использовать любые конструкции HTML и CSS, поддерживаемые почтовыми клиентами. Обратите внимание, что при верстке HTML-рассылок следует быть осторожными и придерживаться ряда рекомендаций, т.к. почтовые клиенты довольно капризны и не понимают некоторые современные стандарты верстки.
Например, кастомизированная ссылка с названием товара может выглядеть так:
<code><a href="{{line_item.url}}" style="text-decoration: none; color: #006699;">{{ line_item.name }}</a>
Чтобы добавить описание для товара, воспользуйтесь данной переменной:
<code>{{ line_item.description }}
Важный момент! В режиме предварительного просмотра при редактировании HTML-письма, а также при отправке тестового письма Convead нарисует заказ с двумя вымышленными товарами-заглушками и ценами, но с применением всех указанных вами стилей. Это сделано для того, чтобы можно было представить, как будет выглядеть настоящий заказ в письме. При отправке настоящей триггерной рассылки клиенту, в письмо подставятся ваши реальные товары из XML-фида с товарами. Стили оформления товаров и прочих элементов заказа будут использованы те, что вы настроили в рассылке.
Чтобы оформить блок заказа в стиле шаблонных рассылок Конвида можно использовать код, представленный ниже. Кроме настройки стилей здесь используется заглушка на случай, если нет картинки товара:
<code><!-- начало списка товаров --> <br><table cellpadding="0" cellspacing="0" style="margin: 15px 0; font-size: 15px; line-height: 1.3em;" width="100%"> <br><tr> <br><td colspan="5" style="padding: 0 0 10px 0;"> <h4 style="font-size: 22px; line-height: 1.2em; font-weight: 400; margin: 0; padding: 4px 0;">Ваш заказ</h4> </td> <br></tr> <br>{% for line_item in order.line_items %} <br><tr> <br><td colspan="5" style="border-top: 1px solid #e0e0e0;"></td> <br></tr> <br><tr> <br><td valign="middle" width="73" style="padding: 9px 14px 9px 0;"> <a href="{{line_item.url}}"> <br />{% assign line_item_image = line_item.picture %} {% if line_item_image == null %} <br />{% assign line_item_image = 'https://d2p70fm3k6a3cb.cloudfront.net/public/messages/common/product.jpg' %} <br />{% endif %} <img src="{{line_item_image}}" width="73"> </a> </td> <br><td valign="middle" style="padding: 9px 0; font-size: 16px; line-height: 1.3em;"> <a href="{{line_item.url}}" style="text-decoration: none; color: #3e3e3e;"> {{ line_item.name | truncate: 10, '...' }} </a> </td> <br><td valign="middle" width="140" align="right" style="padding: 9px 0; font-size: 16px; line-height: 1.3em; font-weight: bold; white-space: nowrap;">{{ line_item.price }}</td> <br><td valign="middle" width="40" align="right" style="padding: 9px 0; font-size: 16px; line-height: 1.3em; font-weight: bold; white-space: nowrap;">{{ line_item.qnt }} шт</td> <br><td valign="middle" width="40" align="right" style="padding: 9px 0; font-size: 16px; line-height: 1.3em; font-weight: bold; white-space: nowrap;">{{ line_item.total }}</td> <br></tr> <br>{% endfor %} <br><tr> <br><td colspan="5" style="padding: 0 0 10px 0; border-top: 1px solid #e0e0e0;"></td> </tr> <br><tr> <br><td colspan="5"> <br><table cellpadding="0" cellspacing="0" width="100%"> <tr> <br><td valign="middle" style="padding: 20px 0;"> <b>Order numberа: {{order.order_id}}</b> </td> <br><td valign="middle" style="padding: 20px 0; text-align: right; color: #30363c; font-size: 16px; line-height: 1.2em; text-align: right;"> <b>Total: {{order.display_revenue}}</b> </td> </tr> </table> </td> </tr> </table> <br><!-- конец списка товаров -->
При оформлении полей в рассылках можно использовать стандартные фильтры liquid. Плюс, в Convead поддерживается фильтр md5 (кодирование строки или числа с помощью алгоритма md5).
Пример использования фильтров:
<code>{% assign encoded_var = "Test" | downcase | md5 %} <p> <a href="http://example.com/?super_param={{encoded_var}}"></a> </p>