Последние авторы
1 (% class="lead" %)
2 Шаблонизатор позволяет кастомизировать текст сообщений (email, SMS, push) в [[массовых рассылках>>doc:Main.Using.Smart_Communications.Mass_mailings.WebHome]] и [[кампаниях>>doc:Main.Using.Smart_Communications.Campaign_list.WebHome]]. Каждый клиент увидит в сообщении информацию, которая относится именно к нему.
3
4 (% class="box successmessage" %)
5 (((
6 Шаблонизатор построен на базе языка шаблонов Twig. В данной статье описаны наиболее часто используемые конструкции. Полную информацию о возможностях шаблонизатора см. на [[сайте проекта Twig>>https://twig.symfony.com/doc/3.x/]].
7 )))
8
9 **Содержание:**
10
11 {{toc depth="4" start="2"/}}
12
13 == Персонализация ==
14
15 Персонализация позволяет адаптировать рассылки под каждого клиента. [[Loymax Smart Communications>>doc:Main.Using.Smart_Communications.WebHome]] адаптирует текст сообщения и строит актуальное для клиента предложение, при необходимости выбирая подходящий момент отправки сообщения.
16 **Пример:**
17 В рамках одной и той же рассылки по рекомендуемым товарам:
18
19 * Один клиент получит сообщение (на основе истории покупок) с предложением купить сменные лезвия для бритвы и с блоком о том, что в торговых точках его города действует акция "3 по цене 2".
20 * Другой клиент получит сообщение (на основе истории покупок) с предложением купить зарядное устройство и с промо-блоком о том, что в его городе открылся новый пункт выдачи заказов.
21
22 В Loymax Smart Communications есть инструменты для персонализации:
23
24 * Конструкции шаблонизатора;
25 * [[Товарные рекомендации>>doc:Main.Using.Smart_Communications.Recommendations.WebHome]].
26
27 == Шаблонизатор ==
28
29 Шаблонизатор включает в себя:
30
31 * [[Переменные>>doc:||anchor="H41F43544043543C43543D43D44B435432A0SmartCommunications"]] — данные о клиенте, его чеках и продуктах в чеке. Например, с помощью переменной можно вывести в текст сообщения имя клиента;
32 * [[Макросы>>doc:||anchor="H41C43043A44043E44144B"]] — функции, позволяющие вывести информацию о промокодах, опросах и т. д.;
33 * [[Управляющие конструкции>>doc:||anchor="H42343F44043043243B44F44E44943843543A43E43D44144244044343A446438438"]] — циклы, условия, фильтры.
34
35 Пример использования переменной в тексте сообщения:
36
37 (% class="box" %)
38 (((
39 ##Добрый день, ~{~{client.properties.full_name}}.##
40 )))
41
42 При отправке сообщения переменная будет заменена на значение, например:
43
44 (% class="box" %)
45 (((
46 Добрый день, Иванов Иван Иванович.
47 )))
48
49 == Переменные в Smart Communications ==
50
51 Переменные позволяют подставлять в текст сообщения (а для писем — и в тему письма) данные:
52
53 * Из [[профиля клиента>>doc:Main.Using.Smart_Communications.Customers.All_clients.WebHome||anchor="Profile"]]:
54 ** Атрибуты и метрики клиента;
55 ** Ссылки для [[управления подпиской>>doc:Main.Using.Smart_Communications.Mass_mailings.Mailing_Loyalty_SC.WebHome]];
56 ** Атрибуты и содержимое из последнего чека и/или заказа;
57 ** Даты;
58 ** И любые другие атрибуты;
59 * О чеках клиента;
60 * О продуктах в чеке;
61 * О категории продукта.
62
63 Переменные бывают:
64
65 * [[Системные>>doc:||anchor="H42143844144243543C43D44B43543F43544043543C43543D43D44B435"]] — служат для доступа к системным полям;
66 * [[Пользовательские>>doc:||anchor="H41F43E43B44C43743E43243044243543B44C44143A43843543F43544043543C43543D43D44B435"]] — для доступа к пользовательским полям. Подробнее о полях можно прочитать [[здесь>>doc:Main.Using.Smart_Communications.Settings_SC.Data_field.WebHome]].
67
68 Формат записи переменной:
69
70 (% class="box" %)
71 (((
72 ##~{~{наименование_переменной}}##
73 )))
74
75 === Системные переменные ===
76
77 В Smart Communications доступны следующие системные переменные:
78
79 (% class="table-bordered" %)
80 |=(((
81 Переменная
82 )))|=(((
83 Назначение
84 )))
85 |(((
86 ##~{~{client.properties.full_name}}##
87 )))|(((
88 Полное имя клиента
89 )))
90 |(((
91 ##~{~{client.properties.last_name}}##
92 )))|(((
93 Фамилия клиента
94 )))
95 |(((
96 ##~{~{client.properties.first_name}}##
97 )))|(((
98 Имя клиента
99 )))
100 |(((
101 ##~{~{client.properties.middle_name}}##
102 )))|(((
103 Отчество клиента
104 )))
105 |(((
106 ##~{~{client.properties.register_date}}##
107 )))|(((
108 Дата регистрации клиента
109 )))
110 |(((
111 ##~{~{client.properties.city}}##
112 )))|(((
113 Город клиента
114 )))
115 |(((
116 ##~{~{client.properties.zip}}##
117 )))|(((
118 Индекс клиента
119 )))
120 |(((
121 ##~{~{client.properties.email}}##
122 )))|(((
123 E-mail клиента
124 )))
125 |(((
126 ##~{~{client.properties.password}}##
127 )))|(((
128 Пароль клиента
129 )))
130 |(((
131 ##~{~{client.properties.phone}}##
132 )))|(((
133 Номер телефона клиента
134 )))
135 |(((
136 ##~{~{client.properties.order_cnt}}##
137 )))|(((
138 Количество чеков клиента
139 )))
140 |(((
141 ##~{~{client.properties.order_sum}}##
142 )))|(((
143 Общая сумма всех чеков клиента
144 )))
145 |(((
146 ##~{~{client.orders.first.date}}##
147 )))|(((
148 Дата первого чека клиента
149 )))
150 |(((
151 ##~{~{client.orders.last.date}}##
152 )))|(((
153 Дата последнего чека клиента
154 )))
155 |(((
156 ##~{~{client.orders.last.number}}##
157 )))|(((
158 Номер последнего чека
159 )))
160 |(((
161 ##~{~{client.properties.rating}}##
162 )))|(((
163 Скоринг клиента
164 )))
165 |(((
166 ##~{~{client.links.profile}}##
167 )))|(((
168 Ссылка на профиль клиента на Платформе
169 )))
170 |(((
171 ##~{~{client.links.unsubscribe}}##
172 )))|(((
173 Ссылка на [[управление подписками>>doc:Main.Using.Smart_Communications.Mass_mailings.Mailing_Loyalty_SC.WebHome]]
174 )))
175 |(((
176 ##~{~{client.links.web_version}}##
177 )))|(((
178 Ссылка на веб-версию письма
179 )))
180 |(((
181 ##~{~{client.properties.bonus_active}}##
182 )))|(((
183 Количество активных бонусов
184 )))
185 |(((
186 ##~{~{client.properties.bonus_expect_activate}}##
187 )))|(((
188 Количество бонусов, которые ожидают активации
189 )))
190 |(((
191 ##~{~{client.properties.bonus_expect_deactivate}}##
192 )))|(((
193 Количество бонусов, которые ожидают деактивации
194 )))
195 |(((
196 ##~{~{client.properties.bonus_expect_deactivate_date}}##
197 )))|(((
198 Дата деактивации бонусов
199 )))
200 |(((
201 ##~{~{client.properties.bonus_expect_deactivate_next}}##
202 )))|(((
203 Количество бонусов, которые будут деактивированы в ближайшее время
204 )))
205 |(((
206 ##~{~{client.eventContext.<код_поля>}}##
207 )))|(((
208 Данные из [[контекста события>>doc:Main.Using.Smart_Communications.Events.WebHome||anchor="H41A43E43D44243543A44144244143E43144B442438439"]]
209 )))
210 |(((
211 ##~{~{client.containers.webcart.items}}##
212 )))|(((
213 Содержимое корзины
214 )))
215 |##~{~{client.properties.eorder_cnt}}##|Количество заказов клиента
216 |##~{~{client.properties.eorder_sum}}##|Общая сумма всех заказов клиента
217 |##~{~{client.eorders.first.date}}##|Дата первого заказа клиента
218 |##~{~{client.eorders.last.date}}##|Дата последнего заказа клиента
219 |##~{~{client.eorders.first.number}}##|Номер первого заказа клиента
220 |##~{~{client.eorders.last.number}}##|Номер последнего заказа клиента
221 |##~{~{client.eorders.first.<код поля>}}##|Значение атрибута в первом заказе клиента
222 |##~{~{client.eorders.last.<код поля>}}##|Значение атрибута в последнем заказе клиента
223 |##~{~{client.eorders.first.items}}##|Содержимое первого заказа
224 |##~{~{client.eorders.last.items}}##|Содержимое последнего заказа
225
226 === Пользовательские переменные ===
227
228 Доступ к пользовательским полям **Клиент/Чек/Строка чека/Категория продукта** осуществляется по их коду с помощью конструкции вида ##~{~{client.properties.<код_поля>}}##. Например:
229
230 (% class="box" %)
231 (((
232 ##~{~{client.properties.eye_color}}##
233 )))
234
235 Узнать код поля можно в разделе **Настройки >** [[Поля>>doc:Main.Using.Smart_Communications.Settings_SC.Data_field.WebHome]] во вкладках **Клиенты/Транзакции/Строки транзакций/Категории**.** **Например, код атрибута чека "Статус оплаты" — "payment_status_name".
236
237 {{lightbox image="Code_example.png"/}}
238
239 Для формирования переменной необходимо использовать формат:
240
241 * ##~{~{client.properties.<код поля>}}## — значение атрибута в **профиле** клиента;
242 * ##~{~{client.orders.first.<код поля>}}## — значение атрибута в **первом чеке** клиента;
243 * ##~{~{client.orders.last.<код поля>}}## — значение атрибута в **последнем чеке** клиента.
244
245 Для вывода значений атрибутов продуктов в [[брошенной корзине>>doc:Main.Using.Smart_Communications.Campaign_list.Abandoned_cart.WebHome]], первом и последнем чеке, категории продукта необходимо использовать [[(% class="wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink" %)циклы>>doc:||anchor="H42643843A43B44B"]](%%).
246
247 === Значение по умолчанию ===
248
249 Для атрибутов с типом **строка** можно установить значение по умолчанию. Это значение будет выведено в тексте сообщения, если атрибут не заполнен. Например, в сообщении можно обратиться к клиенту по имени, а если имя неизвестно — использовать значение по умолчанию:
250
251 (% class="box" %)
252 (((
253 ##~{~{client.properties.full_name|default ('Уважаемый клиент')}##
254 )))
255
256 == Макросы ==
257
258 Макросы — это небольшие команды, которые позволяют выполнять заскриптованные действия в Системе. Например, макрос ##~{~{client.promocode('группа промокода')}}## находит и возвращает промокод из группы.
259
260 === Системные макросы ===
261
262 В Smart Communications доступны макросы:
263
264 (% class="table-bordered" %)
265 |=(((
266 Макрос
267 )))|=(((
268 Назначение
269 )))
270 |(((
271 ##~{~{"now"|date('формат')}}##
272 )))|(((
273 Текущая дата
274 )))
275 |(((
276 ##~{~{client.promocode('группа промокода')}}##
277 )))|(((
278 Выдать промокод клиенту из группы промокодов
279 )))
280 |(((
281 ##~{~{client.last_promocode('группа промокода')}}##
282 )))|(((
283 Последний выданный клиенту промокод из группы
284 )))
285 |(((
286 ##~{~{client.last_campaign_promocode('группа промокода')}}##
287 )))|(((
288 Последний промокод из группы, выданный клиенту в рамках этой кампании
289 )))
290 |(((
291 ##~{~{client.template_constant('наименование')}}##
292 )))|(((
293 Константа региона
294 )))
295 |(((
296 ##~{~{client.poll('POLL-идентификатор_опроса')}}##
297 )))|(((
298 Ссылка на опрос
299 )))
300 |(((
301 ##~{~{client.loyaltyCard.lastActive.number}}##
302 )))|(((
303 Информация по активной карте лояльности клиента
304 )))
305
306 === Формат дат ===
307
308 Поля с типом **дата** можно выводить в разном формате. Для обозначения формата можно использовать любые комбинации следующих значений:
309
310 * Год:
311 ** y — 2 цифры (например, 97, 20);
312 ** Y — 4 цифры (например, 1997, 2020);
313 * m — месяц (в формате от 01 до 12);
314 * d — день (в формате от 01 до 31);
315 * h — час;
316 * i — минута;
317 * s — секунда.
318
319 **Пример 1. Вывод даты в сообщении**
320
321 При заданном формате 'Y-m-d' дата будет выведена в виде '2020-10-20'. При формате 'd.m.Y h:i' — в виде '20.10.2020 11:56'.
322
323 Пример использования макроса **Благодарность клиенту за последний заказ**:
324
325 (% class="box" %)
326 (((
327 ##Спасибо за заказ от ~{~{client.orders.last.date|date('d.m.Y')}}!##
328 )))
329
330 Клиент получит сообщение со строкой вида:
331
332 (% class="box" %)
333 (((
334 Спасибо за заказ от 29.06.2020!
335 )))
336
337 **Пример 2. Вывод даты на несколько дней позже текущей**
338
339 Чтобы вывести в сообщение дату, которая на несколько дней позже текущей, используйте такой макрос:
340
341 (% class="box" %)
342 (((
343 ##~{~{"now"|date_modify('+1 day')|date('Y-m-d')}}##
344 )))
345
346 В сообщении для клиента будет выведена завтрашняя дата.
347
348 **Пример 3. Вывод даты —** **через месяц после даты регистрации клиента**
349
350 Вывод даты +1 месяц от даты регистрации клиента.
351
352 (% class="box" %)
353 (((
354 ##~{~{client.properties.register_date|date_modify('+1 month')|date('Y-m-d')}}##
355 )))
356
357 == Вставка переменной или макроса в сообщение ==
358
359 В редакторах для всех видов сообщений есть кнопка с изображением флажка, при нажатии на которую раскрывается список доступных системных переменных и макросов:
360
361 |(% style="border-color:white; text-align:center" %){{lightbox image="Editor.png"/}}
362
363 Для вставки пользовательской переменной необходимо напечатать ее вручную.
364
365 == Предварительный просмотр ==
366
367 |(% style="border-color:white; width:1115px" %)(((
368 Чтобы посмотреть, как будет выглядеть сообщение с переменными и макросами, замененными на их значение, используйте кнопку **Предпросмотр сообщения**.
369 )))|(% style="border-color:white; width:324px" %){{lightbox image="Preview.png"/}}
370 |(% style="border-color:white; width:1115px" %)(((
371 Можно увидеть предпросмотр письма для конкретного клиента. Для этого в поле **Клиент** необходимо ввести Фамилию/Имя/Номер телефона/email/идентификатор клиента (local_id). Чтобы результаты поиска были однозначны, рекомендуется искать по номеру телефона/email/локальному идентификатору клиента.
372
373 (% class="box infomessage" %)
374 (((
375 Поиск в поле **Клиент **— регистрозависимый. Имя и фамилию клиента необходимо вводить с заглавной буквы.
376 )))
377 )))|(% style="border-color:white; width:324px" %){{lightbox image="Client3.png"/}}
378
379 == Управляющие конструкции ==
380
381 С помощью управляющих конструкций можно создавать более сложные шаблоны на основе переменных и макросов. Управляющие конструкции включают в себя for-циклы, условия (if/elseif/else) и фильтры. Управляющие конструкции выводятся внутри блоков {% ... %}.
382
383 === Переменные ===
384
385 Чтобы несколько раз использовать в сообщении одно и то же выражение, можно ввести переменную. Например, введем переменную ##webcart## для массива элементов в корзине:
386
387 (% class="box" %)
388 (((
389 ##{% set webcart = client.containers.webcart.items %}##
390 )))
391
392 === Циклы ===
393
394 В следующих случаях необходимо использовать циклы:
395
396 * Вывод атрибутов продуктов в первом/последнем чеке клиента;
397 * Вывод атрибутов продуктов в корзине;
398 * Вывод атрибутов категории продукта;
399 * Вывод информации по всем активным картам клиента, если их больше одной.
400
401 Например, можно вывести названия всех продуктов в последнем чеке клиента:
402
403 (% class="box" %)
404 (((
405 ##{% for item in client.orders.last.items%}
406 ~{~{item.name}}
407 {% endfor %}##
408 )))
409
410 Вывести название и цвет для всех продуктов из корзины:
411
412 (% class="box" %)
413 ##{% set webcart = client.containers.webcart.items %}
414 {% for item in webcart %}
415 ~{~{item.name}}
416 ~{~{item.color}}
417 {% endfor %}##
418
419 Вывести название категории для всех продуктов в последнем заказе:
420
421 (% class="box" %)
422 (((
423 ##{% for item in client.orders.last.items%}
424 ~{~{item.category.name}}
425 {% endfor %}##
426 )))
427
428 Вывести информацию по всем активным картам клиента:
429
430 (% class="box" %)
431 (((
432 ##{% for card in client.loyaltyCard.items %}
433 ~{~{card.number}}
434 {% endfor %}##
435 )))
436
437 === Условия ===
438
439 Можно вывести в сообщении только те данные, для которых выполняется заданное условие. Например, можно выдать [[промокод>>doc:Main.Using.Smart_Communications.Promo_codes.WebHome]] только клиентам из Екатеринбурга:
440
441 (% class="box" %)
442 (((
443 ##{% if client.properties.city == 'Екатеринбург' %}
444 ~{~{client.promocode('группа промокода')}}
445 {% endif %}##
446 )))
447
448 Вот несколько вариантов условий:
449
450 * {% If client.properties.city == 'Екатеринбург' %} — если клиент из Екатеринбурга;
451 * {% If client.properties.city %} — если у клиента указан город;
452 * {% If not client.properties.city %} — если у клиента не указан город;
453 * {% If client.properties.city == 'Екатеринбург' OR client.properties.city == 'Пермь' %} — если клиент из Екатеринбурга или из Перми;
454 * {% If client.properties.city == 'Екатеринбург' AND client.properties.first_name == 'Мария' %} — если клиент из Екатеринбурга и его зовут Мария.
455
456 === Фильтры ===
457
458 Для массивов доступны фильтры:
459
460 * sortArray — позволяет отсортировать массив данных по значению атрибутов:
461 ** sortArray('date', true) — сортировка по дате по убыванию;
462 ** sortArray('date', false) — сортировка по дате по возрастанию (сортировать элементы можно не только по дате, но и по другим атрибутам);
463 * get — выводит заданное количество элементов:
464 ** get(10) — вывести первые 10 элементов массива;
465 * date_diff('date') — выводит количество дней между двумя датами. Например, можно вывести, сколько дней прошло с **2020-11-11** до текущей даты:
466
467 (% class="box" %)
468 (((
469 ##~{~{"now"|date('Y-m-d')|date_diff('2020-11-11')}}##
470 )))
471
472 **Вывод информации из корзины**
473
474 Пример использования фильтров: вывести название, изображение и цену для 10 продуктов из корзины, которые были добавлены первыми.
475
476 (% class="box" %)
477 (((
478 ##{% set webcart = client.containers.webcart.items|sortArray('date', false)|get(10) %}
479 {% for item in webcart %}
480 ~{~{item.name}}
481 ~{~{item.image_url}}
482 ~{~{item.price}}
483 {% endfor %}##
484 )))
485
486 Чтобы название продукта было ссылкой, используйте тег <a> с атрибутом href:
487
488 (% class="box" %)
489 (((
490 ##<a href ="~{~{item.product_url}}">~{~{item.name}}</a>##
491 )))
492
493 == Подстановка данных из витрин ==
494
495 Loymax Smart Communications позволяет подставлять в текст сообщения значения полей [[витрин>>doc:Main.Using.Smart_Communications.Settings_SC.Data_field.WebHome||anchor="H41243844244043843D44B"]]. Для подстановки данных из витрин, организованных по принципу "один к одному" используйте следующий синтаксис:
496
497 (% class="box" %)
498 (((
499 ##~{~{client.marts.<код витрины>.<код поля>}}##
500 )))
501
502 Для подстановки данных объектов, хранящихся в мультивитрине, используйте цикл:
503
504 (% class="box" %)
505 (((
506 ##{% set items = client.multimarts.<код витрины>.items %}
507 {% for item in items %}
508 ~{~{item.<код поля 1>}}
509 ~{~{item.<код поля 2>}}
510 ~{~{item.<код поля 3>}}
511 {% endfor %}##
512 )))
513
514 == Использование данных из контекста триггера ==
515
516 Когда срабатывает [[триггер>>doc:Main.Using.Smart_Communications.Campaign_list.Triggers.WebHome]] кампании, в контекст триггера записывается информация об объекте или наборе (коллекции) объектов, вызвавших срабатывание. В зависимости от вида триггера это может быть товар, заказ, категория и т.п. Контекст всегда привязан к конкретному клиенту и может быть использован для персонализации коммуникации.
517
518 В рассылках, отправленных в рамках кампании, можно использовать значения [[полей>>doc:Main.Using.Smart_Communications.Settings_SC.Data_field.WebHome]] объекта из контекста триггера. Структура данных в контексте триггера соответствует модели данных соответствующего объекта, т.е. содержит все поля, настроенные для этого типа объекта.
519
520 Контекст любого триггера содержит объект ##client## (Клиент). Обращаясь к этому объекту, можно получить содержимое любого поля [[профиля клиента>>doc:Main.Using.Smart_Communications.Customers.All_clients.WebHome||anchor="H41F44043E44443843B44C43A43B43843543D442430"]] — как системного, так и пользовательского. Для обращения к полям профиля клиента используйте следующий синтаксис: ##~{~{trigger.client.properties.<код поля>}}##
521
522 В некоторых триггерах помимо объекта ##client## передаётся другой объект. Перечень таких триггеров см. в таблице ниже.
523
524 (% class="table-bordered" %)
525 |=Триггеры|=Объекты в контексте|=Комментарий
526 |(((
527 * [[Дней с чека>>doc:Main.Using.Smart_Communications.Campaign_list.Triggers.WebHome||anchor="H41443D43543944144743543A430"]]
528 * [[Наступление даты для чека>>doc:Main.Using.Smart_Communications.Campaign_list.Triggers.WebHome||anchor="H41D43044144244343F43B43543D43843543443044244B43443B44F44743543A430"]]
529 * [[Пробит чек>>doc:Main.Using.Smart_Communications.Campaign_list.Triggers.WebHome||anchor="H41F44043E43143844244743543A"]]
530 )))|(((
531 * ##client ##(Клиент)
532 * ##order ##(Чек)
533 )))|(((
534 (% id="cke_bm_68121S" style="display:none" %) (%%)Для обращения к полям чека используйте следующий синтаксис: ##~{~{trigger.order.<код поля чека>}}##
535
536 Для обращения ко всем строкам чека используйте цикл:
537
538 {{code}}
539 {% for item in trigger.order.items %}
540 {{item.<код поля строки чека>}}
541 {% endfor %}
542 {{/code}}
543
544 Строки чека также содержат поле ##category##, заполненное полями категории, к которой относится соответствующий продукт. Вы можете обращаться к полям категории, используя следующий синтаксис: ##~{~{item.category.<код поля категории>}}##
545
546 )))
547 |(((
548 * [[Дней с заказа>>doc:Main.Using.Smart_Communications.Campaign_list.Triggers.WebHome||anchor="H41443D43543944143743043A430437430"]]
549 * [[Заказан продукт>>doc:Main.Using.Smart_Communications.Campaign_list.Triggers.WebHome||anchor="H41743043A43043743043D43F44043E43444343A442"]]
550 * [[Заказан продукт из категории>>doc:Main.Using.Smart_Communications.Campaign_list.Triggers.WebHome||anchor="H41743043A43043743043D43F44043E43444343A44243843743A43044243543343E440438438"]]
551 * [[Изменился статус заказа>>doc:Main.Using.Smart_Communications.Campaign_list.Triggers.WebHome||anchor="H41843743C43543D43843B44144F44144243044244344143743043A430437430"]]
552 * [[Наступление даты для заказа>>doc:Main.Using.Smart_Communications.Campaign_list.Triggers.WebHome||anchor="H41D43044144244343F43B43543D43843543443044244B43443B44F43743043A430437430"]]
553 * [[Сделан заказ>>doc:Main.Using.Smart_Communications.Campaign_list.Triggers.WebHome||anchor="H42143443543B43043D43743043A430437"]]
554 )))|(((
555 * ##client ##(Клиент)
556 * ##eorder## (Заказ)
557 )))|(((
558 (% id="cke_bm_74915S" style="display:none" %) (%%)Для обращения к полям заказа используйте следующий синтаксис ##~{~{trigger.eorder.<код поля заказа>}}##
559
560 Для обращения ко всем строкам заказа используйте цикл:
561
562 {{code}}
563 {% for item in trigger.eorder.items %}
564 {{item.<код поля строки заказа>}}
565 {% endfor %}
566 {{/code}}
567
568 Строки заказа также содержат поле ##category##, заполненное полями категории, к которой относится соответствующий продукт. Вы можете обращаться к полям категории, используя следующий синтаксис: ##~{~{item.category.<код поля категории>}}##
569 )))
570 |[[Добавлен товар в контейнер>>doc:Main.Using.Smart_Communications.Campaign_list.Triggers.WebHome||anchor="H41443E43143043243B43543D44243E43243044043243A43E43D44243543943D435440"]]|(((
571 * ##client ##(Клиент)
572 * ##product ##(Продукт)
573 )))|Для обращения к полям продукта используйте следующий синтаксис: ##~{~{trigger.product.<код поля продукта>}}##
574 |(((
575 * [[Изменилась цена на просмотренный товар>>doc:Main.Using.Smart_Communications.Campaign_list.Triggers.WebHome||anchor="H41843743C43543D43843B43044144C44643543D43043D43043F44043E44143C43E44244043543D43D44B43944243E432430440"]]
576 * [[Изменилась цена продукта>>doc:Main.Using.Smart_Communications.Campaign_list.Triggers.WebHome||anchor="H41843743C43543D43843B43044144C44643543D43043F44043E43444343A442430"]]
577 )))|(((
578 * ##client ##(Клиент)
579 * ##products ##(коллекция объектов Продукт)
580 )))|(((
581 Для обращения ко всем продуктам в коллекции используйте цикл:
582
583 {{code}}
584 {% for product in trigger.products %}
585 {{product.<код поля продукта>}}
586 {% endfor %}
587 {{/code}}
588 )))
589 |[[Брошенный просмотр категории>>doc:Main.Using.Smart_Communications.Campaign_list.Triggers.WebHome||anchor="H41144043E44843543D43D44B43943F44043E44143C43E44244043A43044243543343E440438438"]]|(((
590 * ##client ##(Клиент)
591 * ##category ##(Категория продуктов)
592 )))|(((
593 Поскольку триггер обрабатывает события за последние двое суток, за этот период может быть зарегистрировано большое количество событий **Просмотр категории **(##view_category##). В контекст триггера записывается только две категории: последняя просмотренная и самая часто просматриваемая.
594
595 Для обращения к последней просмотренной категории используйте следующий синтаксис: ##~{~{trigger.last_category.<код поля категории>}}##
596
597 Для обращения к самой часто просматриваемой категории используйте следующий синтаксис: ##~{~{trigger.frequent_category.<код поля категории>}}##
598 )))
599
600 {{showhide showmessage="Пример обращения к контексту триггера ~"Сделан заказ~"" hidemessage="Скрыть пример"}}
601 |(% style="width:50%" %)(((
602 **Код:**
603
604 (% class="box" %)
605 (((
606 ##~{~{trigger.client.properties.full_name}}##,
607 ##~{~{trigger.eorder.date}}## вы оформили заказ ##~{~{trigger.eorder.number}}## на сумму ##~{~{trigger.eorder.items_sum}}## с доставкой в г. ##~{~{trigger.eorder.delivery_city}}.##
608
609 Состав заказа:
610
611 ##{% for item in trigger.eorder.items %}##
612 Название товара: ##~{~{item.name}}##
613 Количество товара: ##~{~{item.cnt}}##
614 Цена товара: ##~{~{item.price}}##
615 Скидка: ##~{~{item.discount}}##
616 Стоимость товара: ##~{~{item.cnt}} x (~{~{item.price}} - ~{~{item.discount}})= ~{~{item.sum}}##
617 {% endfor %}
618 )))
619
620
621 )))|(% style="width:50%" %)(((
622 **Результат обработки:**
623
624 Константин Константиновский,
625 01.01.2025 вы оформили заказ EO-12345 на сумму 5100 с доставкой в г. Санкт-Петербург.
626
627 Состав заказа:
628
629 Название товара: Лейка садовая
630 Количество товара: 2
631 Цена товара: 1500
632 Скидка: 100
633 Стоимость товара: 2 x (1500 - 100)= 2800
634
635 Название товара: Лопата штыковая
636 Количество товара: 1
637 Цена товара: 2500
638 Скидка: 200
639 Стоимость товара: 1 x (2500 - 200)= 2300
640 )))
641 {{/showhide}}
642
643 (% class="box" %)
644 (((
645 **Читайте также:**
646
647 * [[Кампании>>doc:Main.Using.Smart_Communications.Campaign_list.WebHome]]
648 * [[Триггеры>>doc:Main.Using.Smart_Communications.Campaign_list.Triggers.WebHome]]
649 * [[Поля>>doc:Main.Using.Smart_Communications.Settings_SC.Data_field.WebHome]]
650 )))

Новости
Обновления
Облако тегов
Словарь
Наш блог
YouTube и Rutube
Telegram