Для подстановки необходимо создать в письме блок только с одним товаром, в котором используются специальные теги-шаблоны:

  • %YML_NAME% название товара (если в вашем фиде это поле name);

  • %YML_DESCRIPTION% описание (если в вашем фиде это поле description);

  • %YML_PRICE% цена (если в вашем фиде это поле price);

  • %YML_URL% ссылка на товар;

  • %YML_IMAGE% адрес картинки;

  • %YML_QUANTITY% количество данного товара;

  • %YML_TOTAL_SUM% сумма за данный товар;

А также прочие поля из товарного фида в виде %YML_ИМЯ ПОЛЯ БОЛЬШИМИ БУКВАМИ%.

Важно: для ссылок используется не http://%YML_IMAGE% и http://%YML_URL%, а просто href="%YML_URL%" и src="%YML_IMAGE%".

Необходимо учитывать, что подстановка товаров работает только в шаблоне формата html. Про загрузку такого шаблона можно прочитать в статье "Загрузка своего HTML-макета". Чтобы не создавать html-шаблон с нуля, вы можете создать письмо с одним товаром в онлайн-редакторе, а после этого скопировать его код через просмотр исходного кода страницы из предпросмотра макета. Далее в полученном коде можно использовать специальные теги.

В коде письма перед началом html-разметки товара нужно добавить комментарий <!--json_cart-->, а в конце - <!--/json_cart-->. В результате при отправке письма на основе такого шаблона будет сформирована корзина, в которой блоки с товарами будут созданы для каждого товара по образцу html-шаблона, заданного между указанными комментариями, и идти один за другим.

Такой подход хорошо подходит для "вертикального" расположения товаров один под другим. Да, мы можем делать 2 карточки в строке, но решения, позволяющего делать карточку шириной во всю строку, если она одна, пока нет. Все карточки подставляются в письмо с идентичной версткой по шаблону первой. Более того, на данный момент решение, позволяющее делать 2 карточки в строке, работает только если карточка - это элемент td таблицы.

Обращаем внимание, что комментарии должны идти именно перед и после той части, которая будет повторяться, например:

<table> 
<!--json_cart-->
<tr>
<td>...</td>
</tr>
<!--/json_cart-->
</table>

Если поместить их перед <table> и после </table>, то для каждого товара будет повторяться вся таблица, а не ее строка. С помощью %CART_SUM% можно подставить в письмо общую стоимость корзины (будет просто число, без валюты), а с помощью %CART_NUM% - общее количество товаров. И это надо делать вне разметки <!--json_cart-->...<!--/json_cart-->, чтобы избежать повторений информации об общей стоимости корзины.

Аналогично можно (если у вас корректно настроена передача событий просмотра товаров) подставлять в письмо недавно просмотренные товары с помощью специальных меток в письме <!--json_recent-->...<!--/json_recent--> (теги шаблонов внутри карточки товара те же, что и в корзине).

Также вы можете ограничить число товаров в выдаче с помощью специальных меток. Например, если вы хотите, чтобы в письмо подставлялось не более 6 товаров, то перед <!--json_cart--> надо поместить <!--json_cart_limit--><!--6--><!--/json_cart_limit--> и <!--json_recent_limit--><!--6--><!--/json_recent_limit-->

Подстановка конкретных товаров

Все делается аналогично корзине:

  • в письме такую же заготовку товара с теми же тегами оборачиваем в <!--json_products-->...<!--/json_products--> (вместо <!--json_cart-->);

  • перед этим делаем пометку типа <!--json_products_list--><!--//offer[@category=XXXX]--><!--/json_products_list--> и если надо - <!--json_products_limit--><!--16--><!--/json_products_limit--> (где 16 - максимальное число товаров).

Если нужно подставить список товаров по id из фида, то вместо //offer[@category=XXXX] просто перечисляем их id через запятую (например, <!--json_products_list--><!--123,456,789,101112--><!--/json_products_list-->)

Вы нашли ответ?