Новый шаблонизатор

Шаблонизатор — это специальная разметка в HTML шаблонах писем. Она используется для подстановки нужного текста вместо специальных переменных. Например, вместо ${ Recipient.FirstName } подставится имя потребителя. Подстановка происходит в момент отправки.
Мы значительно расширили функционал шаблонизатора. Для того, чтобы начать использовать новые функции — нужно при создании письма выбрать «Расширенный» язык параметров. Возможности нового шаблонизатора позволяют формировать конечное письмо на основании свойств потребителя или его действий — начиная с простых вещей вроде пола и возраста, и заканчивая конкретными товарами в заказе или в брошенной корзине. Таким образом, можно не плодить шаблоны писем под каждый случай, а использовать один — с правильно описанной логикой. Для описания логики поддерживаются условия — IF ELSE, и циклы — FOR. Шаблонизатор также поддерживает специальные функции для проверки и обработки значений, например IsEmpty проверяет, не пустое ли значение. Условия бывают как одиночные, так и с несколькими ветками, например: Обращение по полу, с использованием имени, если оно есть
@{ if IsEmpty (Recipient.FirstName) } Уважаемый участник, спасибо что Вы с нами! @{ else if Recipient.IsMale } Уважаемый ${ Recipient.FirstName }, спасибо что Вы с нами! @{ else } Уважаемая ${ Recipient.FirstName }, спасибо что Вы с нами! @{ end if }
Циклы используются для многократного вывода, когда переменная — не одно значение, а набор объектов. Например, покупки в заказе:
@{ for purchase in Order.Purchases } Цена: ${ purchase.Price } @{ end for }
В этом примере purchase — произвольное имя, которое дается одной покупке, чтобы выводить ее параметры. Внутри блока for … end for можно обращаться к конкретной покупке. Помимо этого, внутри цикла может быть абсолютно произвольная верстка с HTML, условиями и даже вложенными циклами. Эти нововведения позволяют создавать сложные шаблоны писем для чеков, брошенных корзин, рекомендаций и т. п. Такие гибкие шаблоны писем требуют более детальной проработки, но в дальнейшем их проще поддерживать — уходит меньше времени на поддержку одного шаблона вместо 5-10 — отсюда меньше вероятность допустить ошибку.

Вас заинтересуют следующие материалы