Мерчандайзер: сортировка товаров
Мерчандайзер: сортировка товаров
[LEFT]Модуль «Мерчандайзер: сортировка товаров» (1С Битрикс: Управление сайтом) предназначен для создания и изменения сортировки и ее порядка в каталоге товаров по различным полям (цена, дата, наличие, скидка, популярность, количество заказов, ID раздела, алфавиту и многим другим свойствам товаров и торговых предложений). Возможности настройки позволяют профессионально и автоматически производить эффективное отображение (выкладку) товара в каталоге. [/LEFT] [LEFT] [B]Ценность [/B][B] [/B][/LEFT] [LEFT] В умелых руках, модуль позволяет создать эффективную сортировку товаров, которая увеличит конверсии, суммы заказов и другие коммерческие показатели, на которые влияет «выкладка» товара. Согласитесь, что, например, при стандартной сортировке товаров по цене (от дешевых к дорогим), будет не самым лучшим решением показывать в начале товары у которых хоть и самая низкая цена, но которые практически никто не покупает (или того хуже — не в наличии). Возможно, что посетитель в таком случае просто не доберется до ликвидных товаров у которых цена чуть-чуть выше (особенно при большом ассортименте). Модуль позволяет решить эту и другие подобные ситуации в пользу бизнеса. [/LEFT] [LEFT] [B][COLOR=#ff0000]Предупреждения[/COLOR][/B][/LEFT][LIST] [*][LEFT] Сортировка с помощью модуля доступна с версии модуля iblock 20.0.400 в компонентах-наследниках класса \Bitrix\Iblock\Component\ElementList[/LEFT] [*][LEFT]Модуль предназначен для опытных пользователей, прошедших как минимум курс «Контент-менеджер».[/LEFT] [/LIST][LEFT] [B]Рекомендации [/B] Для раскрытия всех возможностей и использования модуля с максимальной эффективностью, рекомендуется:[/LEFT][LIST] [*][LEFT] производить внедрение совместно с разработчиком и профессиональным маркетологом[/LEFT] [*][LEFT] применять разные правила для разных категорий товаров, проводить тесты и вести аналитику.[/LEFT] [/LIST][LEFT] [B]Возможности[/B][/LEFT][LIST] [*][LEFT] Неограниченное количество сортировок[/LEFT] [*][LEFT] Неограниченное количество правил для каждой сортировки[/LEFT] [*][LEFT] Многоуровневые условия для правила сортировки[/LEFT] [*][LEFT] Комбинированные условия и группы условий[/LEFT] [*][LEFT] Возможность использования логических операторов «И» и «ИЛИ», а так же условий «равно», «не равно», «больше или равно», «меньше или равно», «больше», «меньше», «содержит» или «не содержит»[/LEFT] [*][LEFT] Возможность использовать направления сортировки: возрастание, убывание, возрастание с пустыми значениями в начале, возрастание с пустыми значениями в конце, убывание с пустыми значениями в начале, убывание с пустыми значениями в конце[/LEFT] [*][LEFT] Вычисление отдельных индивидуальных значений сортировки для каждого товара[/LEFT] [*][LEFT]Автоматическое обновление значений сортировки каждого товара на основе множества стандартных событий Битрикс[/LEFT] [*][LEFT] Возможность создания агентов для дополнительного автоматического обновления значений свойств сортировки (требуется, если в правилах сортировки используются динамические свойства)[/LEFT] [/LIST][LEFT] [B]Доступные поля для создания правил сортировки[/B][/LEFT][LIST] [*][LEFT] свойства товара (его различные характеристики: артикул, изображение, габариты, производитель, акции, хиты и так далее)[/LEFT] [*][LEFT] параметры товара (доступность, количество на складе, цена, закупочная стоимость, тип и т.п.)[/LEFT] [*][LEFT] количество продаж товара и сумма на которую товар был продан (с учетом статуса заказа и периодом), количество показов[/LEFT] [*][LEFT] свои поля (достаточно указать символьный код)[/LEFT] [*][LEFT] ID элемента и раздела (с учетом и без подраздела)[/LEFT] [*][LEFT] существующий индекс сортировки товара[/LEFT] [*][LEFT] название, символьный код[/LEFT] [*][LEFT] дата и время создания или изменения[/LEFT] [*][LEFT] активность (включая начало и окончание)[/LEFT] [*][LEFT] наличие картинки или описания[/LEFT] [*][LEFT] внешний код, теги[/LEFT] [/LIST] [CENTER][B] [SIZE=16pt]ИНСТРУКЦИЯ[/SIZE] [/B][B] [/B][/CENTER] [CENTER] [B]Установка[/B][/CENTER] [LEFT] Модуль устанавливается стандартными средствами Битрикс. Сразу после установки модуль готов к работе и не требует настройки.[/LEFT] [CENTER] [B]Использование [/B][B] [/B][/CENTER] [LEFT] Рассмотрим использование модуля на примере средней сложности в 2-ух исполнениях:[/LEFT][LIST=1] [*][LEFT] изменим алгоритм уже существующей сортировки[/LEFT] [*][LEFT] создадим новую сортировку и отобразим управляющие элементы.[/LEFT] [/LIST][CENTER] [B] [/B][B]1. Изменение алгоритма стандартной сортировки. [/B][B] [/B][/CENTER] [LEFT] Имеется небольшой розничный интернет-магазин пряжи. Его основной и самый востребованный ассортимент — первичная трикотажная пряжа «Стандарт» (по 1 рулону). В структуре ее можно найти по адресу: Каталог — Трикотажная пряжа — Первичная пряжа — Стандарт. Но если мы заходим в главный раздел «Трикотажная пряжа», то видим, что используется стандартная сортировка по популярности и в самом начале отображаются товары из всех подразделов (вторичная пряжа, наборы и т.п., см. рис.). [/LEFT] [CENTER][URL=https://profi-studio.ru/upload/Image/merchandiser/1.jpg][IMG WIDTH=1663 HEIGHT=867]https://profi-studio.ru/upload/Image/merchandiser/1.jpg[/IMG][/URL] [/CENTER] [LEFT] Нам бы хотелось в главном разделе «Трикотажная пряжа» увидеть в первую очередь товары из нужной нам под-категории (первичная трикотажная пряжа «Стандарт»), в наличии и от дешевых к дорогим.[/LEFT] [LEFT] Как только мы установили модуль, переходим к созданию своей сортировки. Для этого, в административном интерфейсе следуем по пути: «Контент» - «Мерчендайзер: сортировка товаров» - «Список сортировок». Нажимаем кнопку «+ Новая сортировка». На странице создания сортировки, мы должны указать ее название, символьный код и выбрать инфоблок с нашим каталогом товаров и нажать кнопку «Сохранить» (см. рис). [/LEFT] [CENTER][URL=https://profi-studio.ru/upload/Image/merchandiser/2.jpg][IMG WIDTH=1275 HEIGHT=603]https://profi-studio.ru/upload/Image/merchandiser/2.jpg[/IMG][/URL][/CENTER] [LEFT] Теперь нам необходимо создать правило для нашей сортировки. Для этого следуем по пути: «Контент» - «Мерчендайзер: сортировка товаров» - «Список правил сортировок» и выбираем пункт с только что созданной нами сортировкой. Нажимаем кнопку «+ Новое правило сортировки». Правило для сортировки которую мы хотим - комбинированное (состоит из нескольких условий). Для комбинированных правил, модуль для каждого товара вычисляет уникальное значение сортировки, исходя из объявленных условий. Это значение как раз и используется для сортировки по нескольким свойствам (оно хранится в отдельном инфоблоке модуля). Т.к. значение зависит от изменяющихся свойств (у товара, например, может одновременно измениться цена и наличие в любой момент), необходимо поддерживать его актуальность. Для этого предусмотрена функция создания агентов для перерасчета значений сортировки. На странице настроек правила сортировки необходимо указать его название. В поле «Создать агента:» выбираем «Да». Выбираем нужный сайт из списка, а в качестве основного раздела - «Трикотажная пряжа». Нажимаем кнопку «Применить» (см. рис).[/LEFT] [CENTER][URL=https://profi-studio.ru/upload/Image/merchandiser/3.jpg][IMG WIDTH=864 HEIGHT=784]https://profi-studio.ru/upload/Image/merchandiser/3.jpg[/IMG][/URL] [/CENTER] [LEFT] Не покидая страницу, переходим на вкладку «Сортировка», где зададим условия для нашего правила сортировки.[/LEFT] [LEFT]Сортировка происходит по уровням. Сначала элементы сортирует первый уровень: элементы с одинаковой сортировкой первого уровня разбиваются на группы. Второй уровень сортирует элементы в каждой группе первого уровня: элементы с одинаковой сортировкой второго уровня разбиваются на группы и т.д.[/LEFT] [LEFT]Добавим первый уровень сортировки с опцией «Комбинация полей». На этом уровне мы сортируем товары, присваивая каждому из них определенное значение сортировки, поэтому поле сортировки по-умолчанию является «число». Мы сразу можем определить порядок сортировки на этом уровне, исходя из значений, которые будут вычислены для каждого товара.[/LEFT] [LEFT] Нажимаем «Добавить значение» и задаем условия, используя логические операторы, чтобы определить: каким товарам нужно присвоить новое значение (см. рис.).[/LEFT] [CENTER][URL=https://profi-studio.ru/upload/Image/merchandiser/4.jpg][IMG WIDTH=989 HEIGHT=686]https://profi-studio.ru/upload/Image/merchandiser/4.jpg[/IMG][/URL] [/CENTER] [LEFT] Согласно нашим пожеланиям, нам нужно отобрать в первую очередь товары из под-раздела с идентификатором 251 (укажем его в соответствующем поле) и доступным количеством больше нуля (в наличии). Так мы и сделали, используя логический оператор «И».[/LEFT] [LEFT] На первом уровне мы отобрали нужные товары, теперь наша задача отсортировать их по цене (от меньшей к большей) на втором уровне сортировки. Для второго уровня нам уже не нужны комбинации полей, поэтому выберем опцию второго уровня - «Одно поле: стандартные поля и свойства». Указываем поле цены, задаем направление и нажимаем кнопку «Сохранить и обновить значения свойств сортировки», чтобы был произведен расчет значений. Наша сортировка готова (см. рис). Осталось только добавить необходимый код в шаблон сайта.[/LEFT] [CENTER][URL=https://profi-studio.ru/upload/Image/merchandiser/5.jpg][IMG WIDTH=992 HEIGHT=916]https://profi-studio.ru/upload/Image/merchandiser/5.jpg[/IMG][/URL] [/CENTER] [LEFT] Для сортировки с помощью модуля, в параметры компонента (компоненты-наследники класса \Bitrix\Iblock\Component\ElementList) необходимо добавить параметр: "CUSTOM_ELEMENT_SORT" => $arParams["CUSTOM_ELEMENT_SORT"] (это массив с полями сортировки), а перед вызовом компонента сформировать этот массив с помощью метода \Profistudio\Merchandiser\Tools::includeComponent().[/LEFT] [LEFT] В нашем примере используется готовое решение для интернет-магазина - «Аспро: Next». Шаблон, где объявлен компонент «bitrix:catalog.section», в нашем случае находился по адресу: «/bitrix/templates/aspro_next/components/bitrix/catalog/main/page_blocks/list_elements.php». [B][I]Если на этом этапе возникнут трудности, обращайтесь за нашей технической поддержкой. Мы обязательно поможем.[/I][/B][/LEFT] [LEFT] Формирование массива выполняется следующим кодом: [/LEFT] [QUOTE][LEFT]<?[/LEFT] [LEFT] if(\Bitrix\Main\Loader::includeModule("profistudio.merchandiser"))[/LEFT] [LEFT] { \Profistudio\Merchandiser\Tools::includeComponent([/LEFT] [LEFT] "1", // ID сортировки[/LEFT] [LEFT] $arParams["CUSTOM_ELEMENT_SORT"], // Массив с полями сортировки[/LEFT] [LEFT] $arParams["IBLOCK_ID"], // ID инфоблока[/LEFT] [LEFT] $arResult["VARIABLES"]["SECTION_ID"], // ID раздела[/LEFT] [LEFT] $arResult["VARIABLES"]["SECTION_CODE"], // Символьный код раздела[/LEFT] [LEFT] $arParams // Параметры кеширования );}[/LEFT] [LEFT] ?>[/LEFT][/QUOTE] [LEFT] В качестве ID сортировки нужно указать идентификатор созданной нами ранее сортировки (у нас это 1). Код необходимо установить перед подключением компонента «bitrix:catalog.section», а в массив параметров компонента добавить "CUSTOM_ELEMENT_SORT" => $arParams["CUSTOM_ELEMENT_SORT"] (см. рис).[/LEFT] [CENTER][URL=https://profi-studio.ru/upload/Image/merchandiser/6.jpg][IMG WIDTH=733 HEIGHT=435]https://profi-studio.ru/upload/Image/merchandiser/6.jpg[/IMG][/URL] [/CENTER] [LEFT] Сохраняем изменения и обновляем страницу с товарами нашей категории, для которой мы создавали свою сортировку. Теперь там отображаются товары, согласно ранее заявленным условиям вне зависимости от того какая сортировка используется по-умолчанию (см. рис).[/LEFT] [CENTER][URL=https://profi-studio.ru/upload/Image/merchandiser/7.jpg][IMG WIDTH=1666 HEIGHT=884]https://profi-studio.ru/upload/Image/merchandiser/7.jpg[/IMG][/URL] [/CENTER] [LEFT] Подключение модуля кодом сделано не просто так, а позволяет более гибко (с помощью разработчика) настраивать параметры в шаблоне в зависимости от необходимых условий. Например, собственную сортировку мы можем применять не по-умолчанию (вне зависимости какая уже сортировка используется), а только в случаях когда выбрана определенная сортировка из имеющихся (стандартных). То есть таким образом мы «кастомизируем» стандартную сортировку за счет собственной и можем точечно менять поведение алгоритма, например, при выбранной сортировке «По цене».[/LEFT] [CENTER] [B] [/B][B]2. Создание новой сортировки с управляющими элементами. [/B][B] [/B][B] [/B][/CENTER] [LEFT]Процесс аналогичен п.1, поэтому мы создадим более простые сортировки для того же раздела в каталоге, но уделим внимание параметрам компонента и управляющим элементам сортировок.[/LEFT] [LEFT] Создадим сразу 2 сортировки и назовем их «Покупают — много» и «Покупают — мало». Для каждой сортировки создаем по 1 правилу. У нас будет 1 уровень сортировки для правила, где полем будет являться «Количество продаж товара». В зависимости от того для какой сортировки мы создаем правило, укажем: направление сортировки, статус заказа и период подсчета. В нашем случае, для правила сортировки «Покупают — много» первый уровень будет выглядеть так (см. рис).[/LEFT] [CENTER][URL=https://profi-studio.ru/upload/Image/merchandiser/8.jpg][IMG WIDTH=839 HEIGHT=377]https://profi-studio.ru/upload/Image/merchandiser/8.jpg[/IMG][/URL] [/CENTER] [LEFT] Не забываем добавить агентов в настройку правила, т.к. количество продаж товара величина изменчивая и необходимо будет обновлять значения сортировки.[/LEFT] [LEFT] Теперь нам следует заменить код, который мы устанавливали ранее до подключения компонента «bitrix:catalog.section» на этот: [/LEFT] [QUOTE]<? [LEFT] $arParams["CUSTOM_ELEMENT_SORT"] = $APPLICATION->IncludeComponent([/LEFT] [LEFT] "profistudio:merchandiser.sort.list",[/LEFT] [LEFT] "select", // Шаблон (".default" - ссылки, "select" - выбор из списка)[/LEFT] [LEFT] array([/LEFT] [LEFT] "IBLOCK_ID" => "17", // ID инфоблока[/LEFT] [LEFT] "SECTION_CODE" => $arResult["VARIABLES"]["SECTION_CODE"], // Символьный код раздела[/LEFT] [LEFT] "SECTION_ID" => $arResult["VARIABLES"]["SECTION_ID"], // ID раздела[/LEFT] [LEFT] "SORT_LIST" => array(0 => "1"), // ID сортировок[/LEFT] [LEFT] "SORT_ID_DEFAULT" => "1", // ID сортировки по умолчанию[/LEFT] [LEFT] "NAME" => "Сортировка:", // Название[/LEFT] [LEFT] "SORT_PARAMETER" => "my_sort", // Название параметра для сортировки[/LEFT] [LEFT] "SAVE_SESSION" => "Y", // Сохранять выбранную сортировку в сессию[/LEFT] [LEFT] "CACHE_TYPE" => "A",[/LEFT] [LEFT] "CACHE_TIME" => "36000000"[/LEFT] [LEFT] ),[/LEFT] [LEFT] false[/LEFT] [LEFT] );[/LEFT]?>[/QUOTE] Нам следует указать лишь «IBLOCK_ID» - идентификатор нашего инфоблока (в нашем случае, инфоблок каталога имеет id=17), а остальные настройки мы уже произведем в публичной части. [LEFT] Сохраняем изменения и переходим в наш раздел каталога. В публичной части (в режиме «правки») мы увидим компонент «Мерчандайзер: список сортировок», параметры которого мы уже можем легко изменить (см. рис).[/LEFT] [CENTER][URL=https://profi-studio.ru/upload/Image/merchandiser/9.jpg][IMG WIDTH=781 HEIGHT=695]https://profi-studio.ru/upload/Image/merchandiser/9.jpg[/IMG][/URL] [/CENTER] [LEFT][LIST] [*]Шаблон компонента — определяет как будут отображаться сортировки (в виде кнопок - «.default» или в виде списка - «select»). [*]ID сортировок — в этом поле нам следует отметить 2 наши созданные сортировки, которые мы хотим отобразить. [*]ID сортировки по умолчанию — выбираем одну из наших сортировок. [*]Название — подпись к списку наших сортировок. [*]Название параметра для сортировки — отображается в адресной строке, при выполнении сортировки. [*]Сохранять выбранную сортировку в сессию — оставьте отмеченным, если хотите чтобы у пользователя сохранялась выбранная сортировка. [/LIST][/LEFT] [LEFT] Применяя настройки, мы получим следующий результат (см. рис). Предыдущую (стандартную) сортировку мы можем удалить, чтобы оставалась только наша.[/LEFT] [CENTER][URL=https://profi-studio.ru/upload/Image/merchandiser/10.jpg][IMG WIDTH=922 HEIGHT=495]https://profi-studio.ru/upload/Image/merchandiser/10.jpg[/IMG][/URL] [/CENTER] [B][COLOR=#ff0000]Кстати![/COLOR][/B] Если вы серьезно занимаетесь маркетингом и настроены на плодотворную работу по увеличению прибыли, то рекомендуем вам ознакомиться с нашими решениями для интернет-магазинов: [LIST] [*][URL=https://marketplace.1c-bitrix.ru/solutions/profistudio.basketprice/]Модуль для смены типа цен в корзине в зависимости от условий[/URL] [*][URL=https://marketplace.1c-bitrix.ru/solutions/profistudio.quicklinks/]Модуль быстрых SEO-ссылок для каталога товаров[/URL] [*][URL=https://marketplace.1c-bitrix.ru/solutions/profistudio.seofilter/]Модуль автогенерации SEO-настроек (мета-теги, карта сайта и многое другое) для страниц умного фильтра[/URL] [*][URL=https://marketplace.1c-bitrix.ru/solutions/profistudio.seo/]Модуль точечной настройки SEO для страниц с параметрами (страницы умного фильтра, поиска и т.п.)[/URL] [/LIST]