Параметры для подборки по вычисляемому полю клиента
Инструкция подходит для любых задач, где нужно ограничить вывод продуктов значением вычисляемого поля клиента по дополнительному полю продукта, то есть отбирать товары с предпочитаемым признаком.
Можно выводить подборки по любимому цвету, стране отдыха, жанру книг и т.д.
Рассмотрим на примере размера одежды.
Задача
С помощью вычисляемого поля определили, какие размеры чаще всего покупают клиенты.
Хотим отправить им подборку новинок и выводить только товары в подходящем размере.
Для этого нужно составить верстку рассылки с помощью параметров шаблонизатора.
Как это работает
- На проекте есть вычисляемое поле, которое определяет, какой размер (дополнительное поле по продукту) клиент чаще всего покупает, и записывает значение в карточку:
Клиент чаще всего покупает вещи в размере M
- С помощью функции шаблонизатора можно из любого сегмента отбирать только продукты с нужным значением для конкретного клиента:
Размер соответствует вычисленному значению для клиента — продукт можно выводить в рассылке.
Как собрать параметр
Чтобы обратиться к списку всех уникальных продуктов, используйте базовый параметр Products
:
Выберите сегмент продуктов с помощью функции GetBySegment()
:
Отфильтруйте подборку по вычисляемому полю клиента функцией FilterByRecipientCustomField()
:
Задайте дополнительную фильтрацию и сортировку продуктов:
AvailableForRecipient
— доступные в регионе получателя.
Можно дополнительно отобрать случайные и уникальные для каждой группы продукты.Random
— в случайном порядке.SinglePerGroup
— уникальные для каждой группы.
Можно дополнительно отобрать случайные продукты.Take()
— без фильтрации и сортировки.
Можно вывести любые поля по продуктам из собранной коллекции:
Пример верстки
Выведем в рассылке название, картинку, цену и размер продукта:
Новинки, которые вам идеально подойдут
@{for item in Products.GetBySegment("Novinki").FilterByRecipientCustomField("BoughtSize").Take(4)}
<a href="${item.URL}"}><img src="${item.PictureUrl}"></a>
${item.Name}
Размер: ${item.CustomField.Size.Name}
${item.Price} руб.
@{end for}
Пользователь получит в письме: