Ценность
В умелых руках, модуль позволяет создать эффективную сортировку товаров, которая увеличит конверсии, суммы заказов и другие коммерческие показатели, на которые влияет «выкладка» товара.
Согласитесь, что, например, при стандартной сортировке товаров по цене (от дешевых к дорогим), будет не самым лучшим решением показывать в начале товары у которых хоть и самая низкая цена, но которые практически никто не покупает (или того хуже — не в наличии). Возможно, что посетитель в таком случае просто не доберется до ликвидных товаров у которых цена чуть-чуть выше (особенно при большом ассортименте).
Модуль позволяет решить эту и другие подобные ситуации в пользу бизнеса.
Предупреждения
- Сортировка с помощью модуля доступна с версии модуля iblock 20.0.400 в компонентах-наследниках класса \Bitrix\Iblock\Component\ElementList
- Модуль предназначен для опытных пользователей, прошедших как минимум курс «Контент-менеджер».
Для раскрытия всех возможностей и использования модуля с максимальной эффективностью, рекомендуется:
- производить внедрение совместно с разработчиком и профессиональным маркетологом
- применять разные правила для разных категорий товаров, проводить тесты и вести аналитику.
- Неограниченное количество сортировок
- Неограниченное количество правил для каждой сортировки
- Многоуровневые условия для правила сортировки
- Комбинированные условия и группы условий
- Возможность использования логических операторов «И» и «ИЛИ», а так же условий «равно», «не равно», «больше или равно», «меньше или равно», «больше», «меньше», «содержит» или «не содержит»
- Возможность использовать направления сортировки: возрастание, убывание, возрастание с пустыми значениями в начале, возрастание с пустыми значениями в конце, убывание с пустыми значениями в начале, убывание с пустыми значениями в конце
- Вычисление отдельных индивидуальных значений сортировки для каждого товара
- Автоматическое обновление значений сортировки каждого товара на основе множества стандартных событий Битрикс
- Возможность создания агентов для дополнительного автоматического обновления значений свойств сортировки (требуется, если в правилах сортировки используются динамические свойства)
- свойства товара (его различные характеристики: артикул, изображение, габариты, производитель, акции, хиты и так далее)
- параметры товара (доступность, количество на складе, цена, закупочная стоимость, тип и т.п.)
- количество продаж товара и сумма на которую товар был продан (с учетом статуса заказа и периодом), количество показов
- свои поля (достаточно указать символьный код)
- ID элемента и раздела (с учетом и без подраздела)
- существующий индекс сортировки товара
- название, символьный код
- дата и время создания или изменения
- активность (включая начало и окончание)
- наличие картинки или описания
- внешний код, теги
ИНСТРУКЦИЯ
Установка
Модуль устанавливается стандартными средствами Битрикс. Сразу после установки модуль готов к работе и не требует настройки.
Использование
Рассмотрим использование модуля на примере средней сложности в 2-ух исполнениях:
- изменим алгоритм уже существующей сортировки
- создадим новую сортировку и отобразим управляющие элементы.
1. Изменение алгоритма стандартной сортировки.
Имеется небольшой розничный интернет-магазин пряжи. Его основной и самый востребованный ассортимент — первичная трикотажная пряжа «Стандарт» (по 1 рулону). В структуре ее можно найти по адресу: Каталог — Трикотажная пряжа — Первичная пряжа — Стандарт. Но если мы заходим в главный раздел «Трикотажная пряжа», то видим, что используется стандартная сортировка по популярности и в самом начале отображаются товары из всех подразделов (вторичная пряжа, наборы и т.п., см. рис.).

Нам бы хотелось в главном разделе «Трикотажная пряжа» увидеть в первую очередь товары из нужной нам под-категории (первичная трикотажная пряжа «Стандарт»), в наличии и от дешевых к дорогим. Как только мы установили модуль, переходим к созданию своей сортировки. Для этого, в административном интерфейсе следуем по пути: «Контент» - «Мерчендайзер: сортировка товаров» - «Список сортировок». Нажимаем кнопку «+ Новая сортировка».
На странице создания сортировки, мы должны указать ее название, символьный код и выбрать инфоблок с нашим каталогом товаров и нажать кнопку «Сохранить» (см. рис).

Теперь нам необходимо создать правило для нашей сортировки. Для этого следуем по пути: «Контент» - «Мерчендайзер: сортировка товаров» - «Список правил сортировок» и выбираем пункт с только что созданной нами сортировкой. Нажимаем кнопку «+ Новое правило сортировки».
Правило для сортировки которую мы хотим - комбинированное (состоит из нескольких условий). Для комбинированных правил, модуль для каждого товара вычисляет уникальное значение сортировки, исходя из объявленных условий. Это значение как раз и используется для сортировки по нескольким свойствам (оно хранится в отдельном инфоблоке модуля). Т.к. значение зависит от изменяющихся свойств (у товара, например, может одновременно измениться цена и наличие в любой момент), необходимо поддерживать его актуальность. Для этого предусмотрена функция создания агентов для перерасчета значений сортировки.
На странице настроек правила сортировки необходимо указать его название. В поле «Создать агента:» выбираем «Да». Выбираем нужный сайт из списка, а в качестве основного раздела - «Трикотажная пряжа». Нажимаем кнопку «Применить» (см. рис).

Не покидая страницу, переходим на вкладку «Сортировка», где зададим условия для нашего правила сортировки. Сортировка происходит по уровням. Сначала элементы сортирует первый уровень: элементы с одинаковой сортировкой первого уровня разбиваются на группы. Второй уровень сортирует элементы в каждой группе первого уровня: элементы с одинаковой сортировкой второго уровня разбиваются на группы и т.д. Добавим первый уровень сортировки с опцией «Комбинация полей». На этом уровне мы сортируем товары, присваивая каждому из них определенное значение сортировки, поэтому поле сортировки по-умолчанию является «число». Мы сразу можем определить порядок сортировки на этом уровне, исходя из значений, которые будут вычислены для каждого товара.
Нажимаем «Добавить значение» и задаем условия, используя логические операторы, чтобы определить: каким товарам нужно присвоить новое значение (см. рис.).

Согласно нашим пожеланиям, нам нужно отобрать в первую очередь товары из под-раздела с идентификатором 251 (укажем его в соответствующем поле) и доступным количеством больше нуля (в наличии). Так мы и сделали, используя логический оператор «И».
На первом уровне мы отобрали нужные товары, теперь наша задача отсортировать их по цене (от меньшей к большей) на втором уровне сортировки. Для второго уровня нам уже не нужны комбинации полей, поэтому выберем опцию второго уровня - «Одно поле: стандартные поля и свойства». Указываем поле цены, задаем направление и нажимаем кнопку «Сохранить и обновить значения свойств сортировки», чтобы был произведен расчет значений. Наша сортировка готова (см. рис). Осталось только добавить необходимый код в шаблон сайта.

Для сортировки с помощью модуля, в параметры компонента (компоненты-наследники класса \Bitrix\Iblock\Component\ElementList) необходимо добавить параметр: "CUSTOM_ELEMENT_SORT" => $arParams["CUSTOM_ELEMENT_SORT"] (это массив с полями сортировки), а перед вызовом компонента сформировать этот массив с помощью метода \Profistudio\Merchandiser\Tools::includeComponent().
В нашем примере используется готовое решение для интернет-магазина - «Аспро: Next». Шаблон, где объявлен компонент «bitrix:catalog.section», в нашем случае находился по адресу: «/bitrix/templates/aspro_next/components/bitrix/catalog/main/page_blocks/list_elements.php».
Если на этом этапе возникнут трудности, обращайтесь за нашей технической поддержкой. Мы обязательно поможем.
Формирование массива выполняется следующим кодом:
if(\Bitrix\Main\Loader::includeModule("profistudio.merchandiser")) { \Profistudio\Merchandiser\Tools::includeComponent( "1", // ID сортировки $arParams["CUSTOM_ELEMENT_SORT"], // Массив с полями сортировки $arParams["IBLOCK_ID"], // ID инфоблока $arResult["VARIABLES"]["SECTION_ID"], // ID раздела $arResult["VARIABLES"]["SECTION_CODE"], // Символьный код раздела $arParams // Параметры кеширования );} ?> |
Код необходимо установить перед подключением компонента «bitrix:catalog.section», а в массив параметров компонента добавить "CUSTOM_ELEMENT_SORT" => $arParams["CUSTOM_ELEMENT_SORT"] (см. рис).

Сохраняем изменения и обновляем страницу с товарами нашей категории, для которой мы создавали свою сортировку. Теперь там отображаются товары, согласно ранее заявленным условиям вне зависимости от того какая сортировка используется по-умолчанию (см. рис).

Подключение модуля кодом сделано не просто так, а позволяет более гибко (с помощью разработчика) настраивать параметры в шаблоне в зависимости от необходимых условий. Например, собственную сортировку мы можем применять не по-умолчанию (вне зависимости какая уже сортировка используется), а только в случаях когда выбрана определенная сортировка из имеющихся (стандартных). То есть таким образом мы «кастомизируем» стандартную сортировку за счет собственной и можем точечно менять поведение алгоритма, например, при выбранной сортировке «По цене».
2. Создание новой сортировки с управляющими элементами.
Процесс аналогичен п.1, поэтому мы создадим более простые сортировки для того же раздела в каталоге, но уделим внимание параметрам компонента и управляющим элементам сортировок.
Создадим сразу 2 сортировки и назовем их «Покупают — много» и «Покупают — мало». Для каждой сортировки создаем по 1 правилу. У нас будет 1 уровень сортировки для правила, где полем будет являться «Количество продаж товара». В зависимости от того для какой сортировки мы создаем правило, укажем: направление сортировки, статус заказа и период подсчета. В нашем случае, для правила сортировки «Покупают — много» первый уровень будет выглядеть так (см. рис).

Не забываем добавить агентов в настройку правила, т.к. количество продаж товара величина изменчивая и необходимо будет обновлять значения сортировки.
Теперь нам следует заменить код, который мы устанавливали ранее до подключения компонента «bitrix:catalog.section» на этот:
$arParams["CUSTOM_ELEMENT_SORT"] = $APPLICATION->IncludeComponent( "profistudio:merchandiser.sort.list", "select", // Шаблон (".default" - ссылки, "select" - выбор из списка) array( "IBLOCK_ID" => "17", // ID инфоблока "SECTION_CODE" => $arResult["VARIABLES"]["SECTION_CODE"], // Символьный код раздела "SECTION_ID" => $arResult["VARIABLES"]["SECTION_ID"], // ID раздела "SORT_LIST" => array(0 => "1"), // ID сортировок "SORT_ID_DEFAULT" => "1", // ID сортировки по умолчанию "NAME" => "Сортировка:", // Название "SORT_PARAMETER" => "my_sort", // Название параметра для сортировки "SAVE_SESSION" => "Y", // Сохранять выбранную сортировку в сессию "CACHE_TYPE" => "A", "CACHE_TIME" => "36000000" ), false ); ?> |
Сохраняем изменения и переходим в наш раздел каталога. В публичной части (в режиме «правки») мы увидим компонент «Мерчандайзер: список сортировок», параметры которого мы уже можем легко изменить (см. рис).

- Шаблон компонента — определяет как будут отображаться сортировки (в виде кнопок - «.default» или в виде списка - «select»).
- ID сортировок — в этом поле нам следует отметить 2 наши созданные сортировки, которые мы хотим отобразить.
- ID сортировки по умолчанию — выбираем одну из наших сортировок.
- Название — подпись к списку наших сортировок.
- Название параметра для сортировки — отображается в адресной строке, при выполнении сортировки.
- Сохранять выбранную сортировку в сессию — оставьте отмеченным, если хотите чтобы у пользователя сохранялась выбранная сортировка.

Кстати!
Если вы серьезно занимаетесь маркетингом и настроены на плодотворную работу по увеличению прибыли, то рекомендуем вам ознакомиться с нашими решениями для интернет-магазинов:
- Модуль для смены типа цен в корзине в зависимости от условий
- Модуль быстрых SEO-ссылок для каталога товаров
- Модуль автогенерации SEO-настроек (мета-теги, карта сайта и многое другое) для страниц умного фильтра
- Модуль точечной настройки SEO для страниц с параметрами (страницы умного фильтра, поиска и т.п.)