Как работать с элементами коллекции с помощью цикла for...end for и set

Некоторые параметры содержат не одно значение, а набор из нескольких объектов, например, все покупки в заказе.

В шаблоне можно вывести блок верстки для каждого такого объекта:

@{ for item in Order.Items }
Название: ${ item.Product.Name }
Цена: ${ item.Price }
@{ end for }

В этом примере item - произвольное имя, которое дается одной покупке, чтобы выводить ее параметры. Внутри блока for...end for можно обращаться к конкретной покупке. Помимо этого, внутри может быть абсолютно произвольная верстка с HTML, условиями и даже вложенными циклами.

Если в этом примере у человека три покупки, вывод будет таким:

Цена: 5
Цена: 10
Цена: 25

Также можно использовать ключевое слово set в виде: @{ set a = a + 1 }, и получится счётчик.

Примеры использования.

  • Вывести сумму покупок:
@{ set Total = 0 }
@{ for product in Session.GetAddedToListProducts("Korzina").Take(10) }
@{ set Total = Total + product.Price }
@{ end for }
${ Total }
  • Перечислить id продуктов через запятую:
@{ set Ids = "" }
@{ for product in Products.GetBySegment("IzvestnyeVNalichii").Take(10) }
@{ if Ids != "" }
@{ set Ids = Ids & "," }
@{ end if }
@{ set Ids = Ids & product.IDs.C1 }
@{ end for }
${ Ids }