Как вывести поле товара из сегмента

Задача: подставить в письмо сегмент продуктов.

Например, для запуска еженедельного дайджеста.
Для начала надо создать пересчитываемый сегмент по фильтру или статический.
Чтобы появился параметр для статического сегмента, он должен быть запущен в работу.

Как собирается параметр по сегменту продуктов?

Базовый параметр Products + GetBySegment("системное имя сегмента") + Take(<Количество элементов коллекции>)

Всегда надо указывать желамое количество продуктов в коллекции.

В качестве примера в инструкции используем сегмент с системным именем Novinki.

Какая коллекция включает 10 продуктов из сегмента?

Products.GetBySegment("Novinki").Take(10)

Как вывести данные по каждому продукту?

Выше мы собрали параметр-коллекцию.

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

По ним можно вывести все поля, представленные на странице:

image.png

Пример:

@{for item in Products.GetBySegment("Novinki").Take(10)}
Название: ${item.Name}
Текущая цена: ${item.Price}
Ссылка на товар: ${item.Url}
@{end for}

Как вывести продукты в виде товарной сетки ?

@{for row in tableRows (Products.GetBySegment("Novinki").Take(10), 2)}
@{for cell in row.Cells}
@{if cell.Value != null}
Название: ${cell.Value.Name}
Текущая цена: ${cell.value.Price}
Ссылка на товар: ${cell.Value.Url}
@{end if}
@{end for}
@{end for}