Механика избранного в персональных предложениях
Создание ИБ спецпредложений
Админка
-
Создается ИБ для задачи (Избранное, Персональные предложения и тд.)
Для создания переходим в админку и прожимаем переход в инфоблоки нужного тип, как это показано на скриншоте - скрин.
От этого зависит где будет создан новый ИБ.
Далее прожимаем создание нового инфоблока - скрин
На первой вкладке Инфоблок (скрин) настраиваем:
-
символьный код для ИБ
-
привязку к сайтам, обязательно отмечаем s1
-
название ИБ на русском
-
отключаем индексации разделов и элементов для поиска
Переходим на вкладку Свойства (скрин):
-
указываем Название необходимого свойства
-
указываем Код
-
по необходимости проставляем обязательность заполнения поля
-
Создается раздел для привязки в разрезе пользователей, групп пользователей, других признаков, по которым планируем разбивать группы товаров (скрин).
Для этого переходим в новый ИБ и переходим к созданию раздела (скрин)и указываем там в наименовании значение нашего признака, по которому будем группировать предложения. Например, id пользователя (скрин).
-
Загружаем позиции с привязкой к нужному разделу.
Загрузка возможна 3 способами:
-
Ручное создание элементов (скрин)
В самом создании указываем Наименование элемента и созданные ранее для ИБ свойства (скрин),
остальные данные формируются автоматически
-
Загрузка файлом
Шаг 1 (скрин)
-
Открываем Импорт CSV (скрин)
-
Выбираем файл из существующих или загружаем новый для импорта
-
Указываем тип ИБ и сам ИБ, который создали ранее
Шаг 2 (скрин)
-
Настройки формата оставляем по умолчанию
Шаг 3 (скрин)
-
Указываем сопоставление полей
Привязка раздела указывается через сопоставление поля с признаком привязки в файле и полем в базе Группа уровня 1: Название группы -
Указываем время выполнения шага от 15 до 30
Нажимаем Загрузить данные
-
Загрузка через API с фронта или из 1с
Запрос для получения раздела пользователя:
{{host}}?f=IblockSection_GetList
{
"arg": {
"arFilter": {
"IBLOCK_ID": 225, - значение берем из настроек ИБ, после завершения пункта 1 инструкции
"NAME": "1223" - значение берем из параметра для группировки, который выбрали. Например, ид пользователя
},
"Select": []
}
}
Запрос для создания элемента:
{{host}}?f=IblockElement_Add
{
"arg": {
"element": {
"IBLOCK_ID": "225", - значение берем из настроек ИБ, после завершения пункта 1 инструкции
"IBLOCK_SECTION_ID": "17676", - получили в предыдущем запросе
"NAME": "Тормозные колодки",
"PROPERTY_VALUES": [
{
"CODE": "ARTICLE",
"VALUE": "gdb1655"
},
{
"CODE": "BRAND_TITLE",
"VALUE": "trw"
}
]
}
}
}
Фронт
-
При авторизации пользователя на сайт получаем в данных пользователя признак, по которому далее будет определять группу товаров, которую необходимо отобразить пользователю.
Например, ид пользователя для персональных предложений скрин -
Если блок предложений отображается всегда, то фронт сразу отрисовывает пункт меню без предварительных проверок
-
Если блок будет отображаться только для пользователей, для которых настроена группа товаров, то предварительно фронт делает запрос к новому ИБ с фильтром по текущему пользователю.
-
После перехода в новый раздел фронт получает список товаров из группы
{{host}}?f=IblockElement_GetList
{
"arg": {
"arOrder": {},
"arFilter": {
"IBLOCK_ID": 225, - значение берем из настроек ИБ, после завершения пункта 1 инструкции
"IBLOCK_SECTION_ID": 17676 - получили в запросе IblockSection_GetList
},
"iNumPage": 1, - номер получаемой страницы
"nPageSize": 5 - количество элементов на странице
},
"include_properties": "yes"
}
}
-
Отправляет ее на проценку в методе NizhpartsGroup_Search
{{host}}?f=NizhpartsGroupSearch_GroupSearch
{
"arg": {
"ORIGIN_USER_ID": "1223",
"USER_ID": "1223",
"PARAMS": {
"SEARCH_TYPE": "TEXT",
"TEXT": {
"DATA": "gdb1550,TRW,1,1;oc100,KNECHT,1,1;gdb1655,TRW,1,1"
},
"SETTINGS": {
"parts_sort_field": "price",
"first_line": 1,
"columns": {
"code_supplier": 5,
"article": 1,
"brand_title": 2,
"quantity": 3,
"price": 4
},
"MARKUP": 0,
"PARTS_SORT_FIELD": "delivery",
"price_deviation": 5
}
}
}
}
-
Для получения информации по аналогам используем метод
{{host}}?f=NizhpartsGroupSearch_GetAnalogs
{
"arg": {
"ORIGIN_USER_ID": "1223",
"USER_ID": "1223",
"PARAMS": {
"article": "gdb1550",
"brand_title": "trw",
"code_supplier": ""
},
"HASH": "18049c2a2684ddc6cdf52d5d1f7f4bfa" - берем из ответа к запросу на получение цен
}
}
-
Для построения фильтрации по группе товаров пользователя
{{host}}?f=NizhpartsIblockElement_GetPropertyList
{
"arg": {
"arFilter": {
"IBLOCK_ID": 225, - значение берем из настроек ИБ, после завершения пункта 1 инструкции
"SECTION_ID": 17676 - получили в запросе IblockSection_GetList
},
"arProperties": [
"ARTICLE",
"BRAND_TITLE"
],
"arFields": [
]
}
}















No comments to display
No comments to display