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

Задача: Хотим вывести итоговую сумму корзины в рассылке.
В данном случае “корзина” – это название списка, может быть другим.

Условие. В параметрах вывода товаров из списка нет значения для вывода итоговой суммы, поэтому её нужно получить отдельно. Сначала создадим переменную и сделаем её равную 0. Дальше будем прибавлять к ней цены отдельных товаров. Для этого есть специальная функция – set, которая позволяет создавать переменные и совершать с ними арифметические операции. В результате получим сумму всех продуктов из списка.

Решение.

  1. Задаем переменную и делаем её равной 0:
@{set Total = 0} 
        

Total - название переменной, может быть любым.

  1. Создаем цикл для вывода продуктов из корзины:
@{for item in Recipient.GetProductList("Korzina").FilterBySegment("IzvestnyeTovaryVNalichie").AvailableForRecipient.Take(20)} 
        
  1. Считаем сумму цен продуктов в корзине:
@{set Total = Total + item.Product.Price * item.count} 
        
  • item.Product.Price - берем цену продукта из списка
  • item.count - берем количество товара из списка

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

  1. Закрываем цикл:
@{end for}
        
  1. Выводим конечное значение переменной:
${Total}
        

Верстка:

@{set Total = 0} 
        @{for item in Recipient.GetProductList("Korzina").FilterBySegment("IzvestnyeTovaryVNalichie").AvailableForRecipient.Take(20)}
        @{set Total = Total + item.Product.Price * item.count} 
        @{end for}
        ${Total}
        
Блок «Похожие товары» в интернет-магазинах: как работает алгоритм автоматического подбора