Как подставить рекомендации в письмо
Для каждого алгоритма есть свой параметр шаблонизатора подстановки рекомендаций в письмо. Этот автосгенерированный параметр можно найти на странице алгоритма.
При добавлении рекомендаций в рассылку рекомендуем добавлять в шаблон письма проверку на наличие рекомендаций.
Как найти параметр шаблонизатора
-
Перейдите в Контент → Продуктовые рекомендации и выбираем нужный алгоритм, кликнув по его названию:

-
Найдите Параметр для шаблонизатора в информации об алгоритме:

-
Подготовьте письмо.
-
Параметр рекомендаций является коллекцией. Для обращения к каждому продукту используем цикл for...end for.
-
Чтобы не выводить все продукты из рекомендации, ее можно ограничить функцией Take().
-
Параметры для вывода данных по продукту смотрим в разделе Помощь → Параметры в шаблонах рассылок:

Примеры вывода рекомендаций
Вывод данных рекомендуемых продуктов
Выводим названия и цены восьми рекомендованных продуктов:
@{for item in Recipient.Recommendations.Personalnierekomendatsii.Take(8)}
Название: ${item.Name}
Цена: ${item.Price}
@{end for}
Или те же восемь продуктов, но через товарную сетку по две в строке:
<table>
@{for row in tableRows(Recipient.Recommendations.Personalnierekomendatsii.Take(8), 2)}
<tr>
@{for cell in row.Cells}
<td>
@{if cell.Value != null}
Название: ${cell.Value.Name}
Цена продукта: ${cell.Value.Price}
@{end if}
</td>
@{end for}
</tr>
@{end for}
</table>
Как проверить наличие рекомендаций для клиента
Если для клиента не получилось сформировать рекомендации, блок с ними можно пропустить либо заменить на другой (например, рекомендацию популярных продуктов или ручную подборку). Для проверки наличия рекомендаций необходимо использовать функцию IsEmpty.
Пример кода шаблонизатора:
- Проверить, есть ли персональные рекомендации (
Personalnierekomendatsii) для клиента:- Нет — выводим рекомендации из алгоритма популярных продуктов (
Populyarnieprodukti). - Да — выводим персональные рекомендации.
- Нет — выводим рекомендации из алгоритма популярных продуктов (
@{if IsEmpty(Recipient.Recommendations.Personalnierekomendatsii)}
@{for item in Recipient.Recommendations.Populyarnieprodukti.Take(8)}
Название: ${item.Name}
Цена: ${item.Price}
@{end for}
@{ else }
@{for item in Recipient.Recommendations.Personalnierekomendatsii.Take(8)}
Название: ${item.Name}
Цена: ${item.Price}
@{end for}
@{end if}
В новом конструкторе можно настроить вывод рекомендаций без использования параметров и кода: к клиенту или к продукту.