Что такое "Шаблонизатор"
  • 10 Jul 2020
  • 2 Minutes To Read
  • Dark
    Light

Что такое "Шаблонизатор"

  • Dark
    Light

Шаблонизатор - это специальная разметка и переменные для создания писем с динамическим контентом.

Другими словами: мы обращаемся к данным по клиенту через переменную и выводим для каждого клиента ту информацию, которая относится именно к нему.

Обращаться при этом мы можем к личным данным (имя, пол, дата рождения), действиям (регистрация через форму, просмотр товара), заказам, балансу и т.д.

Список переменных доступен на странице https://projectname.mindbox.ru/mailing-parameters-help

Вместо projectname - название вашего проекта.

Также к нему можно перейти из рассылки:

157556077985ff4067b191ecf1a31fd5aизрассылки.jpg

И по быстрому поиску через CTRL+K:

1575570432b333f58a71725e13dbe1a43изпоиска.jpg

Какие данные есть в разделе параметров

Название

Собирается из названий всей цепочки до нужного параметра.
Например, хотим вывести дополнительное поле "Любимый цвет".
Чтобы до него добраться сначала выбираем базовый параметр (Recipient), далее группу дополнительных полей (AdditionalData) и уже потом само доп. поле (смотря как назвали, например Colour)

Нужный нам параметр состоит из перечисления этих параметров через точку:
Recipient.AdditionalData.Colour

image.png

О том, как выводить параметр в письме - в статье .

Тип

Типы данных можно разделить на две группы:

  • примитивы

    • строка
    • дата и время
    • число
      • целое число
    • логическое

  • композиты

    • коллекция

Вывести в письме можно только примитивы (логическое - в условии ).

Коллекция содержит элементы, каждый из которых содержит поля-примитивы. Сначала нужно обратиться к элементу коллекции с помощью цикла @for...@end for , потом вывести нужные данные по каждому элементу.

Клиент (Recipient), изменение баланса (CustomerBalanceChange), заказ (Order) - это наборы параметров. Они не являются коллекциями, но тоже относятся к композитам. Вывести их в письме просто так нельзя, нужно обратиться к строке/числу и т.д. "внутри" параметра.
Например, вывести клиента в письме (Recipient) нельзя. Не понятно, к каким данным мы обращаемся.
А вот имя (Recipient.FirstName - строка) или дату рождения (Recipient.BirthDate - дата и время) - можно.

Описание

Название выводимого поля.

Доступность

Некоторые параметры зависят от определённого события. Это не просто данные по клиенту, а данные про определённое действие, заказ, сессию - такие параметры могут использоваться только в триггерных рассылках с запуском по подходящему действию.

Например:

15757662093d1e958353910094ede6eebдоступ.jpg

Подробнее про такие события и тестирование рассылок с ними - в статье .

Какие операторы можно использовать

Применение операторов зависит от типа данных, с которыми они используются.

  • логические and и or

    со всеми примитивами

  • арифметические + - * /

    с любыми числами

  • конкатенация &

    со всеми примитивами

  • сравнение <>

    с любыми числами

  • = и != *

  1. с любыми числами

  2. со строками
    При сравнении двух параметров-строк, ко второму надо добавить "" через конкатенацию.
    Например, @{if Recipient.FirstName = Recipient.FullName & ""}

  3. дата и время - только для сравнения с null
    Чтобы сравнить даты между собой, нужно отформатировать параметры с помощью функции - тогда дата станет строкой, а сравнивать строки можно.

  4. логическое - только для сравнения с null
    Если такой параметр не null, у него могут быть значения true или false.
    -является ли значение true: @{if Recipient.Sex.Ismale}...
    -является ли значение false: @{if not Recipient.Sex.Ismale}...

Was This Article Helpful?