- Обращение к вложенному объекту
- Итерация массива (внутри вложенного объекта/массива)
- Обращение к 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."