- Обращение к вложенному объекту
- Итерация массива (внутри вложенного объекта/массива)
- Обращение к N элементу массива
- Обращение к индексу текущего элемента массива
- Приведение к lowercase
- URL и HTML кодирование
- Вывод даты в указанном формате
- Реализация if/else
Обращение к вложенному объекту
Позволяет обращаться к переменным, находящимся в объекте подстановок.
Пример подстановок (параметр global_substitutions — email/send, template/set; substitutions — email/send):
...
"substitutions":
{
"person":
{
"name":"John",
"secondName":"Doe",
"age":"26"
}
}
"html":"<h1>Hello, $person.name $person.secondName !</h1>"
Итерация массива (внутри вложенного объекта/массива)
Позволяет вызывать и итерировать элементы массива подстановок. Есть возможность итерирования массива внутри другого массива, или вложенного объекта подстановок.
1. Пример подстановок (параметр global_substitutions — email/send, template/set; substitutions — email/send):
...
"substitutions":
{
"petList":
[
{
"name":"John",
"price":"30"
},
{
"name":"Harold",
"price":"15"
}
]
}
Пример использования подстановок (параметры body.html, body.plaintext, body.amp, subject, headers, options.unsubscribe_url, from_name — email/send, template/set):
"html":
"#foreach( $pet in $petList )
$pet.name for only $pet.price
#end"
2. Пример подстановок (параметр global_substitutions — email/send, template/set; substitutions — email/send):
...
"substitutions":
{
"DogsAndCats":
[
{
"pet":
[
{
"concreteAnimal":"Brown Cat"
}
]
}
]
}
Пример использования подстановок (параметры body.html, body.plaintext, body.amp, subject, headers, options.unsubscribe_url, from_name — email/send, template/set):
"html":
"#foreach( $pet in $DogsAndCats)
#foreach( $concreteAnimal in $pet.pet)
Buy this $concreteAnimal.concreteAnimal
#end
#end"
Обращение к N элементу массива
Позволяет вызвать элемент массива с указанным индексом.
Пример подстановок (параметр global_substitutions — email/send, template/set; substitutions — email/send):
...
"substitutions":
{
"petList":
[
{
"name":"John",
"price":"30"
}
]
}
Пример использования подстановок (параметры body.html, body.plaintext, body.amp, subject, headers, options.unsubscribe_url, from_name — email/send, template/set):
"html":
"$petList.get(0).get("name")"
Обращение к индексу текущего элемента массива
Позволяет возвращать индекс элемента массива.
Пример подстановок (параметр global_substitutions — email/send, template/set; substitutions — email/send):
...
"substitutions":
{
"catsArray":
[
"cat":"black"
]
}
Пример использования подстановок (параметры body.html, body.plaintext, body.amp, subject, headers, options.unsubscribe_url, from_name — email/send, template/set):
"html": "#foreach( $cat in $catsArray ) Index of $cat is $catsArray.indexOf($cat) #end"
Приведение к lowercase
Приводит строку к нижнему регистру.
Пример подстановок (параметр global_substitutions — email/send, template/set; substitutions — email/send):
...
"substitutions":
{
"UpperCASE":"TEST"
}
Пример использования подстановок (параметры body.html, body.plaintext, body.amp, subject, headers, options.unsubscribe_url, from_name — email/send, template/set):
"html": "$UpperCASE.toString().toLowerCase()"
URL и HTML кодирование
Позволяет экранировать спецсимволы URL и HTML.
Пример подстановок (параметр global_substitutions — email/send, template/set; substitutions — email/send):
...
"substitutions":
{
"url": "hello here & there",
"html_code":"\’bread\" & \"butter\’"
}
Пример использования подстановок (параметры body.html, body.plaintext, body.amp, subject, headers, options.unsubscribe_url, from_name — email/send, template/set):
"html": "$esc.html($html_code) $esc.url($url)"
Вывод даты в формате dd-mm-yyyy
Позволяет возвращать данные типа “date” в удобном для дальнейшего использования формате.
Внимание: переменные для подстановок типа “date” обязательно должны начинаться с “date_”, например, “date_Birthdate”
Доступные для использования форматы даты:
- dd/mm/yyyy
- dd-mm-yyyy hh:mm:ss
- yyyy/mm/dd HH:mm:ss
- yyyy mm dd HH:mm:ss
- ISO 8601 2004-02-12T15:19:21+00:00
- RFC 2822 Thu, 21 Dec 2000 16:01:07 +0200
Пример подстановок (параметр global_substitutions — email/send, template/set; substitutions — email/send):
...
"substitutions":
{
"date_Birthdate":"01/01/1970"
}
Пример использования подстановок (параметры body.html, body.plaintext, body.amp, subject, headers, options.unsubscribe_url, from_name — email/send, template/set):
"html":
"$dateFormat.format('yyyy-M-d', $date_Birthdate)"
$dateFormat.format позволяет изменить формат переданной даты. Доступны следующие форматы даты:
$date -> Oct 19, 2003 9:54:50 PM
$date.long -> October 19, 2003 9:54:50 PM PDT
$date.medium_time -> 9:54:50 PM
$date.full_date -> Sunday, October 19, 2003
$date.get('default','short') -> Oct 19, 2003 9:54 PM
$date.get('yyyy-M-d H:m:s') -> 2003-10-19 21:54:50
Реализация if/else
Позволяет вставлять в шаблон письма условные конструкции if/else.
Пример подстановок (параметр global_substitutions — email/send, template/set; substitutions — email/send):
...
"substitutions":
{
"shoeSize":"5"
}
Пример использования подстановок (параметры body.html, body.plaintext, body.amp, subject, headers, options.unsubscribe_url, from_name — email/send, template/set):
"html":
"These shoes are
#if( $shoeSize > 5 )
too big
#elseif( $shoeSize < 5 )
too small
#else
just right
#end
for my brother."