Шаблонизатор PROScript
Данные о товарах выводятся с письмах с помощью шаблонизатора PROScript. Здесь вы найдёте готовые конструкции для вывода товаров в письмах сценариев.
Брошенная корзина
Для отображения содержимого корзины в рассылках сценария Брошенная корзина используются данные события BASKET_ADD
Обновление корзины. Данные о товарах можно получить следующей функцией:
[% basket_list = ssecquery('basket') %]
Данные о корзине придут в шаблонизатор в объекте:
{
"transaction_id" => "x1",
"transaction_dt" => "2022-07-25 23:25:13",
"items" => [
{ запись ssec },
{ запись ssec },
{ запись ssec }
]
}
Если вы передаёте метаданные о товаре (название, ссылку, картинку и т.д.) в событии, в письмо можно подставлять данные товара из самого события.
Чтобы вывести информацию обо всех товарах в корзине, используйте код:
[% basket_list = ssecquery('basket') %]
[% FOREACH item in basket_list[0].items %]
<a href="[% item.product.url %]"><img src="[% item.product.picture[0] %]"></a><br>
<a href="[% item.product.url %]">[% item.product.name %]</a><br>
Цена: [% item.product.price %] руб.<br>
Количество: [% item.product.qnt %] шт<br>
Стоимость: [% item.product.price*item.product.qnt %] руб.<br>
<a href="[% item.product.url %]">Купить</a><br>
[% END %]
Чтобы вывести какой-либо параметр из YML-файла (например, картинку), укажите ссылку на файл в начале блока с товарами и добавьте вывод нужного параметра в код товара:
[% basket_list = ssecquery('basket') %]
[% external_extra("ССЫЛКА_НА_ВАШ_YML","method","get","ignore_error","1","format","yml") %]
[% FOREACH item in basket_list[0].items %]
<a href="[% item.product.url %]"><img src="[% IF yml.$id.picture[0] %][% yml.$id.picture[0] %][% ELSE %][% yml.$id.picture %][% END %]"></a><br>
<a href="[% item.product.url %]">[% item.product.name %]</a><br>
Цена: [% item.product.price %] руб.<br>
Количество: [% item.product.qnt %] шт<br>
Стоимость: [% item.product.price*item.product.qnt %] руб.<br>
<a href="[% item.product.url %]">Купить</a><br>
[% END %]
Брошенный просмотр
Для вывода товаров в рассылках сценария Брошенный просмотр, используются данные события VIEW_PRODUCT
Просмотр карточки товара:
[% product_view_list = ssecquery('product_view') %]
Данные о каждом товаре поступят в виде объекта, содержащего все поля. В результате работы функции вы получите 100 последних событий. Вы можете задать временные рамки запрашиваемых событий, — например за последние 24 часа:
[% ssecquery('product_view','dt','>','current - 24 hours') %]
Также вы можете ограничить число отображаемых товаров напрямую в шаблоне:
[% product_view_list = ssecquery('product_view','dt','>','current - 24 hours') %]
[% used_ids = []; showed_ids = 0 %]
[% FOREACH t in product_view_list %]
[% NEXT IF exists_val(used_ids,t.product.id) %]
[% used_ids.push(t.product.id) %]
<a href="[% t.product.url %]"><img src="[% t.product.picture[0] %]"></a><br>
<a href="[% t.product.url %]">[% t.product.name %]</a><br>
[% t.product.price %] руб.<br>
<a href="[% t.product.url %]">Купить</a><br>
[% showed_ids = showed_ids+1; LAST IF showed_ids >= 6 %]
[% END %]
Пример вывода 6 последних просмотренных товаров за 24 часа, исключая повторные просмотры.
Если вы передаёте метаданные о товаре (название, ссылку и т.д.) в событии, их можно подставлять из данных событий. Необязательно использовать данные о товарах из YML-файла.