Обновления платформы
13 января 2016

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

Шаблонизатор — это специальная разметка в 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 — отсюда меньше вероятность допустить ошибку.