Параметры для подборки по вычисляемому полю клиента

Инструкция подходит для любых задач, где нужно ограничить вывод продуктов значением вычисляемого поля клиента по дополнительному полю продукта, то есть отбирать товары с предпочитаемым признаком.

Можно выводить подборки по любимому цвету, стране отдыха, жанру книг и т.д.

Рассмотрим на примере размера одежды.

Задача

С помощью вычисляемого поля определили, какие размеры чаще всего покупают клиенты.
Хотим отправить им подборку новинок и выводить только товары в подходящем размере.

Для этого нужно составить верстку рассылки с помощью параметров шаблонизатора.

Как это работает

parameters-products-by-computed-field-formula

parameters-products-by-computed-field-client
Клиент чаще всего покупает вещи в размере M

  • С помощью функции шаблонизатора можно из любого сегмента отбирать только продукты с нужным значением для конкретного клиента:

parameters-products-by-computed-field-product
Размер соответствует вычисленному значению для клиента — продукт можно выводить в рассылке.

Как собрать параметр

Чтобы обратиться к списку всех уникальных продуктов, используйте базовый параметр Products:

Products

Выберите сегмент продуктов с помощью функции GetBySegment():

Products.GetBySegment

Отфильтруйте подборку по вычисляемому полю клиента функцией FilterByRecipientCustomField():

Products.GetBySegment.FilterByRecipientCustomField

Задайте дополнительную фильтрацию и сортировку продуктов:

  • AvailableForRecipient — доступные в регионе получателя.
    Можно дополнительно отобрать случайные и уникальные для каждой группы продукты.
  • Random — в случайном порядке.
  • SinglePerGroup — уникальные для каждой группы.
    Можно дополнительно отобрать случайные продукты.
  • Take() — без фильтрации и сортировки.

Можно вывести любые поля по продуктам из собранной коллекции:

Products.GetBySegment.FilterByRecipientCustomField.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}

Пользователь получит в письме:

parameters-products-by-computed-field-result