Изменения документа Товарные рекомендации


<
От версии < 18.1 >
отредактировано Андрей Рылов
на 30/01/2026 10:24
К версии < 13.1 >
отредактировано Андрей Рылов
на 30/12/2025 11:32
>
Изменить комментарий: К данной версии нет комментариев

Комментарий

Подробности

Свойства страницы
Содержимое
... ... @@ -1,5 +1,5 @@
1 1  (% class="lead" %)
2 -Функциональность рекомендаций позволяет выводить в текст сообщений продукты, подобранные по одному из поддерживаемых алгоритмов на основе предпочтений клиентов.
2 +Функциональность рекомендаций позволяет выводить в текст сообщений товары, подобранные по одному из поддерживаемых алгоритмов на основе предпочтений клиентов.
3 3  
4 4  {{info}}
5 5  Функциональность рекомендаций поддерживается только при настроенной интеграции с модулем [[Loymax AI>>doc:Main.General_information.Loymax_AI.WebHome]].
... ... @@ -16,7 +16,7 @@
16 16  
17 17  1. Маркетолог создаёт рекомендацию в АРМ.
18 18  1. Маркетолог вставляет код рекомендации в сообщение.
19 -1. При генерации сообщения Loymax Smart Communications отправляет в [[Loymax AI>>doc:Main.General_information.Loymax_AI.WebHome]] запрос, содержащий:
19 +1. При генерации сообщения Loymax Smart Communications отправляет в Loymax AI запрос, содержащий:
20 20  1*. идентификатор клиента,
21 21  1*. название алгоритма рекомендации,
22 22  1*. параметры алгоритма (например, сколько продуктов рекомендовать).
... ... @@ -25,11 +25,11 @@
25 25  
26 26  == Настройка рекомендаций ==
27 27  
28 -Чтобы просмотреть список созданных рекомендаций, на панели слева перейдите в раздел **Рекомендации**.
28 +Чтобы просмотреть список созданных рекомендаций, на панели слева нажмите на узел **Рекомендации**.
29 29  
30 30  |(% style="border-color:#ffffff; text-align:center" %){{lightbox image="recommendations.png" width="660"/}}
31 31  
32 разделе **Рекомендации** доступны следующие действия:
32 ы можете совершать следующие действия с рекомендациями:
33 33  
34 34  * Создать новую рекомендацию ([[image:1.png]]).
35 35  * Отсортировать таблицу по содержимому любого столбца ([[image:2.png]]).
... ... @@ -42,13 +42,7 @@
42 42  
43 43  * **Код рекомендации** — короткий код, который будет использоваться для добавления рекомендаций в сообщения.
44 44  * **Наименование рекомендации** — человекочитаемое имя, которое будет отображаться в списке настроенных рекомендаций.
45 -* **Алгоритм рекомендации** — выберите требуемый алгоритм из списка:
46 -** [[Популярные товары>>doc:Main.General_information.Loymax_Loyalty.recommendation_systems.Commercial_recommendations.WebHome||anchor="H41043B43343E44043844243C2241F43E43F44343B44F44043D44B43544243E43243044044B22"]]. Алгоритм, предлагающий самые популярные продукты из всего каталога, независимо от истории клиента.
47 -** [[Популярные товары в категории>>doc:Main.General_information.Loymax_Loyalty.recommendation_systems.Commercial_recommendations.WebHome||anchor="H41043B43343E44043844243C2241F43E43F44343B44F44043D44B43544243E43243044044B43243A43044243543343E44043843822"]]. Алгоритм, предлагающий самые популярные продукты из категорий, к которым проявлял интерес клиент (просматривал, покупал, заказывал).
48 -** [[Похожие товары>>doc:Main.General_information.Loymax_Loyalty.recommendation_systems.Commercial_recommendations.WebHome||anchor="H41043B43343E44043844243C2241F43E44543E43643843544243E43243044044B22"]]. Алгоритм, предлагающий продукты, похожие на те, к которым проявлял интерес клиент.
49 -** [[Совместные покупки>>doc:Main.General_information.Loymax_Loyalty.recommendation_systems.Commercial_recommendations.WebHome||anchor="H41043B43343E44043844243C2242143E43243C43544144243D44B43543F43E43A44343F43A43822"]]. Алгоритм, предлагающий продукты, которые часто покупают вместе с продуктами, к которым проявлял интерес клиент.
50 -** [[Персональные товарные рекомендации>>doc:Main.General_information.Loymax_Loyalty.recommendation_systems.Commercial_recommendations.WebHome||anchor="H41043B43343E44043844243C2241F43544044143E43D43043B44C43D44B43544243E43243044043D44B43544043543A43E43C43543D43443044643843822"]]. Алгоритм, прогнозирующий будущие покупки клиента исходя из его истории и предлагающий продукты на основании данного прогноза.
51 -** [[Ручные рекомендации>>||anchor="H41D43044144244043E43943A43044044344743D44B44544043543A43E43C43543D434430446438439"]]. Алгоритм, предлагающий продукты на основании правил соответствия категорий без использования модуля Loymax AI.
45 +* **Алгоритм рекомендации** — выберите требуемый алгоритм из списка. Подробнее о поддерживаемых алгоритмах см. в [[отдельной статье>>doc:Main.General_information.Loymax_Loyalty.recommendation_systems.Commercial_recommendations.WebHome]].
52 52  
53 53  Настройте параметры рекомендации. Набор доступных параметров зависит от выбранного алгоритма.
54 54  
... ... @@ -85,62 +85,63 @@
85 85  
86 86  Для отображения рекомендаций в сообщениях необходимо использовать конструкции [[шаблонизатора>>doc:Main.Using.Smart_Communications.Mass_mailings.Template_builder.WebHome]].
87 87  
88 -Рассмотрим пример добавления рекомендаций в сообщения. Мы хотим отправить клиентам email-рассылку с рекомендациями по алгоритму [[Совместные покупки>>doc:Main.General_information.Loymax_Loyalty.recommendation_systems.Commercial_recommendations.WebHome||anchor="H41043B43343E44043844243C2242143E43243C43544144243D44B43543F43E43A44343F43A43822"]] (для этого в Системе создана рекомендация с кодом ##sov_pok##). У некоторых клиентов ещё нет истории покупок, поэтому для них будем выдавать рекомендации по алгоритму [[Популярные товары>>doc:Main.General_information.Loymax_Loyalty.recommendation_systems.Commercial_recommendations.WebHome||anchor="H41043B43343E44043844243C2241F43E43F44343B44F44043D44B43544243E43243044044B22"]] (для этого в Системе создана рекомендация с кодом ##popular##).
82 +Рассмотрим пример добавления рекомендаций в сообщения. Мы хотим отправить клиентам email-рассылку с рекомендациями по алгоритму //Совместные покупки// (для этого в Системе создана рекомендация с кодом ##sov_pok##). У некоторых клиентов ещё нет истории покупок, поэтому для них будем выдавать рекомендации по алгоритму //Популярные товары// (для этого в Системе создана рекомендация с кодом ##popular##).
89 89  
90 -1. Определим переменную ##Rec## и запишем в нее массив объектов Продукт (##product##), подобранных по алгоритму [[Совместные покупки>>doc:Main.General_information.Loymax_Loyalty.recommendation_systems.Commercial_recommendations.WebHome||anchor="H41043B43343E44043844243C2242143E43243C43544144243D44B43543F43E43A44343F43A43822"]], а если клиент не совершил достаточного количества покупок, то по алгоритму [[Популярные товары>>doc:Main.General_information.Loymax_Loyalty.recommendation_systems.Commercial_recommendations.WebHome||anchor="H41043B43343E44043844243C2241F43E43F44343B44F44043D44B43544243E43243044044B22"]].
91 -
92 -{{code language="twig"}}
84 +{{code}}
93 93  {% set Rec=client.recommendations.sov_pok %}
94 94  {% if not Rec or Rec|length < 3 %}
95 - {% set Rec=client.recommendations.popular %}
87 + {% set Rec=client.recommendations.popular %}
96 96  {% endif %}
97 97  
98 98  {{/code}}
99 99  
100 -(% start="2" %)
101 -1. Отфильтруем массив рекомендованных продуктов, оставив только те, которые можно купить в интернет-магазине (значение логического пользовательского [[поля>>doc:Main.Using.Smart_Communications.Settings_SC.Data_field.WebHome]] ##eComAvailable## — ##true##). Кроме того, для вывода в сообщение нам понадобится не более 9 продуктов (три ряда по три продукта).
102 -Для этого определим две новые переменные: в массив ##filteredRec## будут записываться отфильтрованные рекомендации, а переменная ##count_recs## будет служить в качестве счётчика.
103 -1. Переберём все продукты и добавим в массив те из них, которые не были добавлены ранее (на случай, если модуль Loymax AI вернул один и тот же продукт дважды) и которые доступны для заказа в интернет-магазине.
104 -При добавлении продукта в массив отфильтрованных рекомендаций значение переменной-счётчика увеличивается на 1. Таким образом, есть два сценария выхода из цикла: либо мы перебрали все продукты, либо мы отобрали 9 подходящих для добавления в сообщение.
92 +Теперь переменная ##Rec## хранит массив объектов Продукт (##product##), подобранных по алгоритму //Совместные покупки//, а если клиент не совершил достаточного количества покупок, то по алгоритму //Популярные товары//.
105 105  
106 -{{code language="twig"}}
94 +Отфильтруем массив рекомендованных продуктов, оставив только те, которые можно купить в интернет-магазине (значение логического пользовательского [[поля>>doc:Main.Using.Smart_Communications.Settings_SC.Data_field.WebHome]] ##eComAvailable## — ##true##). Кроме того, для вывода в сообщение нам понадобится не более 9 продуктов (три ряда по три продукта).
95 +
96 +Для этого определим две новых переменные: в массив ##filteredRec## мы будем записывать отфильтрованные рекомендации, а переменная ##count_recs## будет служить в качестве счётчика.
97 +
98 +Переберём все продукты и добавим в массив те из них, которые не были добавлены ранее (таким образом обеспечивается дедупликация продуктов) и которые доступны для заказа в интернет-магазине. Каждый раз, когда мы добавляем продукт в массив отфильтрованных рекомендаций, значение переменной-счётчика увеличивается на 1. Таким образом, есть два сценария выхода из цикла: либо мы перебрали все продукты, либо мы отобрали 9 подходящих для добавления в сообщение. сбоощение
99 +
100 +{{code}}
107 107  {% set count_recs=0 %}
108 108  {% set filteredRec=[] %}
109 109  {% for product in Rec %}
110 - {% if product not in filteredRec and product.eComAvailable=='Y' and count_recs < 9 %}
111 -  {% set filteredRec=filteredRec|merge([product]) %}
112 -  {% set count_recs=count_recs + 1 %}
113 - {% endif %}
104 + {% if product not in filteredRec and product.eComAvailable=='Y' and count_recs < 9 %}
105 +  {% set filteredRec=filteredRec|merge([product]) %}
106 +  {% set count_recs=count_recs + 1 %}
107 + {% endif %}
114 114  {% endfor %}
115 115  {{/code}}
116 116  
117 -(% start="4" %)
118 -1. Разобьём отфильтрованные рекомендации на группы по три.
119 -1. Если в процессе фильтрации мы получили количество подходящих продуктов, не кратное 3, в последней группе будет меньше 3 продуктов (например, 7=3+3+1). Проверим и выведем в сообщение только те группы, в которых ровно три продукта.
120 -1. Для каждого продукта выведем наименование и изображение.
111 +Теперь разобьём отфильтрованные рекомендации на группы по три.
121 121  
122 -{{code language="twig"}}
113 +Если в процессе фильтрации мы получили количество подходящих продуктов, не кратное 3, в последней группе будет меньше 3 продуктов (например, 7=3+3+1). Проверим и выведем в сообщение только те группы, в которых ровно три продукта.
114 +
115 +Для каждого продукта выведем наименование и изображение.
116 +
117 +{{code}}
123 123  {% for batch in filteredRec|batch(3) %}
124 -   {% if batch|length==3 %}
125 -      {% for recommendation in batch %}
126 - {{ recommendation.name }}
127 - {{ recommendation.image_url }}
119 +    {% if batch|length==3 %}
120 +        {% for recommendation in batch %}}
121 + {{ recommendation.name }}
122 + {{ recommendation.image_url }}
128 128  {{/code}}
129 129  
130 -(% start="7" %)
131 -1. Далее реализуем такой сценарий:
132 -1*. если цена продукта менялась (значения полей текущей цены в интернет-магазине и старой цены не равны), выведем старую и новую цену;
133 -1*. если цена продукта не менялась и поле цены в интернет-магазине заполнено, выведем текущую цену;
134 -1*. если поле цены в интернет-магазине не заполнено, выведем "Цена уточняется".
125 +Далее реализуем такой сценарий:
135 135  
136 -{{code language="twig"}}
127 +* если цена продукта менялась (значения полей текущей цены в интернет-магазине и старой цены не равны), выведем старую и новую цену;
128 +* если цена продукта не менялась и поле цены в интернет-магазине заполнено, выведем текущую цену;
129 +* если поле цены в интернет-магазине не заполнено, выведем "Цена уточняется".
130 +
131 +{{code}}
137 137  {% if recommendation.priceim and recommendation.oldprice and recommendation.priceim != recommendation.oldprice %}
138 -   Цена: {{ recommendation.priceim }}
139  Старая цена: {{ recommendation.oldprice }}
133 +  Цена: {{ recommendation.priceim }}
134 +  Старая цена: {{ recommendation.oldprice_19 }}
140 140  {% elseif recommendation.priceim %}
141 -   Цена: {{ recommendation.priceim }}
136 +  Цена: {{ recommendation.priceim }}
142 142  {% else %}
143 -   Цена уточняется
138 +  Цена уточняется
144 144  {% endif %}
145 145  {% endfor %}
146 146  {{/code}}
... ... @@ -147,36 +147,38 @@
147 147  
148 148  В итоге получим следующую конструкцию:
149 149  
150 -{{code language="twig"}}
145 +{{showhide showmessage="Показать пример" hidemessage="Скрыть пример"}}
146 +{{code}}
151 151  {% set Rec=client.recommendations.sov_pok %}
152 152  {% if not Rec or Rec|length < 3 %}
153 - {% set Rec=client.recommendations.popular %}
149 + {% set Rec=client.recommendations.popular %}
154 154  {% endif %}
155 155  {% set count_recs=0 %}
156 156  {% set filteredRec=[] %}
157 157  {% for product in Rec %}
158 - {% if product not in filteredRec and product.eComAvailable=='Y' and count_recs < 9 %}
159 -  {% set filteredRec=filteredRec|merge([product]) %}
160 -  {% set count_recs=count_recs + 1 %}
161 - {% endif %}
154 + {% if product not in filteredRec and product.eComAvailable=='Y' and count_recs < 9 %}
155 +  {% set filteredRec=filteredRec|merge([product]) %}
156 +  {% set count_recs=count_recs + 1 %}
157 + {% endif %}
162 162  {% endfor %}
163 163  {% for batch in filteredRec|batch(3) %}
164 -   {% if batch|length==3 %}
165 -      {% for recommendation in batch %}
166 - {{ recommendation.name }}
167 - {{ recommendation.image_url }}
168 - {% if recommendation.priceim and recommendation.oldprice and recommendation.priceim != recommendation.oldprice %}
160 +    {% if batch|length==3 %}
161 +        {% for recommendation in batch %}}
162 + {{ recommendation.name }}
163 + {{ recommendation.image_url }}
164 + {% if recommendation.priceim and recommendation.oldprice and recommendation.priceim != recommendation.oldprice %}
169 169     Цена: {{ recommendation.priceim }}
170 -   Старая цена: {{ recommendation.oldprice }}
171 - {% elseif recommendation.priceim %}
166 +   Старая цена: {{ recommendation.oldprice_19 }}
167 + {% elseif recommendation.priceim %}
172 172     Цена: {{ recommendation.priceim }}
173 - {% else %}
169 + {% else %}
174 174     Цена уточняется
175 - {% endif %}
176 - {% endfor %}
177 - {% endif %}
171 + {% endif %}
172 + {% endfor %}
173 + {% endif %}
178 178  {% endfor %}
179 179  {{/code}}
176 +{{/showhide}}
180 180  
181 181  (% class="box" %)
182 182  (((
6.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.arylov
Размер
... ... @@ -1,1 +1,0 @@
1 -1.1 KB
Содержимое
recommendation_manual.png
Размер
... ... @@ -1,1 +1,1 @@
1 -25.2 KB
1 +23.1 KB
Содержимое
recommendations.png
Размер
... ... @@ -1,1 +1,1 @@
1 -23.1 KB
1 +14.2 KB
Содержимое

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