Параметры для механики «Брошенный просмотр продукта»
  • 11 Dec 2023
  • 1 минута
  • Темная тема
    Светлая тема
  • формат pdf

Параметры для механики «Брошенный просмотр продукта»

  • Темная тема
    Светлая тема
  • формат pdf

Вводный текст

Задача

В сценарии по брошенной сессии клиентам отправляются просмотренные продукты. Нужно составить верстку рассылки, чтобы с помощью параметров шаблонизатора выводить клиентам подходящие продукты.

О выводе просмотренных товаров без привязки к сессии — в инструкции.

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

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

image.png

Для просмотров в сессии добавьте параметр ProductViews:

image.png

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

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

Чтобы отбирать уникальные продукты из просмотров, коллекция должна содержать параметр Products.
Например, Session.ProductViews.AvailableForRecipient.Take(N) включает все подходящие просмотры, даже с одинаковыми товарами.
А Session.ProductViews.AvailableForRecipient.Products.Take(N) — только уникальные продукты из просмотров.

Пример коллекции — просмотры продуктов из сегмента «Известные в наличии»:

image.png

Для обращения к каждому элементу (просмотру) собранной коллекции используйте цикл for...end for.

Параметры для вывода данных по каждому отобранному просмотру:

  • IsAvailable — доступен ли был продукт на момент просмотра.
  • Price — цена продукта на момент просмотра.

Цена и наличие продукта на момент просмотра — неизменные свойства просмотра, отдельные от цены и наличия продукта на проекте.
В них фиксируется состояние товара, каким его увидел конкретный пользователь.

  • Product — массив данных по текущему состоянию продукта на проекте:
    image.png

В том числе наличие и цена продукта на данный момент.

Пример верстки

Выведем в рассылке URL, картинку, название, описание и цену уникальных продуктов из просмотров:

@{for prod in Session.ProductViews.FilterBySegment("IzvestnyeVNalichii").Products.Take(4)}
    <a href="${prod.Url}"><img src="${prod.PictureUrl}"></a>
    ${prod.Name}
    ${truncate(prod.Description, 50)}
    ${FormatDecimal(prod.Price, "N0")} ₽
    <a href="${prod.Url}">Купить</a>
@{end for}

То же в виде товарной сетки:

@{for row in tableRows(Session.ProductViews.FilterBySegment("IzvestnyeVNalichii").Products.Take(4), 2)}
    @{for cell in row.Cells}
        @{if cell.value != null}
            <a href="${cell.value.Url}"><img src="${cell.value.PictureUrl}"></a>
            ${cell.value.Name}
            ${truncate(cell.value.Description, 50)}
            ${FormatDecimal(cell.value.Price, "N0")} ₽
            <a href="${cell.value.Url}">Купить</a>
        @{end if}                                  
    @{end for}
@{end for}

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

Снимок экрана 2023-12-06 в 02.01.07.png