Как работать с элементами коллекции с помощью цикла 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}