Модуль «Мерчандайзер: сортировка товаров» (1С Битрикс: Управление сайтом) предназначен для создания и изменения сортировки и ее порядка в каталоге товаров по различным полям (цена, дата, наличие, скидка, популярность, количество заказов, ID раздела, алфавиту и многим другим свойствам товаров и торговых предложений). Возможности настройки позволяют профессионально и автоматически производить эффективное отображение (выкладку) товара в каталоге.
Ценность
В умелых руках, модуль позволяет создать эффективную сортировку товаров, которая увеличит конверсии, суммы заказов и другие коммерческие показатели, на которые влияет «выкладка» товара.
Согласитесь, что, например, при стандартной сортировке товаров по цене (от дешевых к дорогим), будет не самым лучшим решением показывать в начале товары у которых хоть и самая низкая цена, но которые практически никто не покупает (или того хуже — не в наличии). Возможно, что посетитель в таком случае просто не доберется до ликвидных товаров у которых цена чуть-чуть выше (особенно при большом ассортименте).
Модуль позволяет решить эту и другие подобные ситуации в пользу бизнеса.
Предупреждения
<*> Сортировка с помощью модуля доступна с версии модуля 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 // Параметры кеширования
);}
?>
В качестве ID сортировки нужно указать идентификатор созданной нами ранее сортировки (у нас это 1).
Код необходимо установить перед подключением компонента «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
);?>
Нам следует указать лишь «IBLOCK_ID» - идентификатор нашего инфоблока (в нашем случае, инфоблок каталога имеет id=17), а остальные настройки мы уже произведем в публичной части.
Сохраняем изменения и переходим в наш раздел каталога. В публичной части (в режиме «правки») мы увидим компонент «Мерчандайзер: список сортировок», параметры которого мы уже можем легко изменить (см. рис).
<*>Шаблон компонента — определяет как будут отображаться сортировки (в виде кнопок - «.default» или в виде списка - «select»).
<*>ID сортировок — в этом поле нам следует отметить 2 наши созданные сортировки, которые мы хотим отобразить.
<*>ID сортировки по умолчанию — выбираем одну из наших сортировок.
<*>Название — подпись к списку наших сортировок.
<*>Название параметра для сортировки — отображается в адресной строке, при выполнении сортировки.
<*>Сохранять выбранную сортировку в сессию — оставьте отмеченным, если хотите чтобы у пользователя сохранялась выбранная сортировка.
Применяя настройки, мы получим следующий результат (см. рис). Предыдущую (стандартную) сортировку мы можем удалить, чтобы оставалась только наша.
Кстати!
Если вы серьезно занимаетесь маркетингом и настроены на плодотворную работу по увеличению прибыли, то рекомендуем вам ознакомиться с нашими решениями для интернет-магазинов:
<*>Модуль для смены типа цен в корзине в зависимости от условий
<*>Модуль быстрых SEO-ссылок для каталога товаров
<*>Модуль автогенерации SEO-настроек (мета-теги, карта сайта и многое другое) для страниц умного фильтра
<*>Модуль точечной настройки SEO для страниц с параметрами (страницы умного фильтра, поиска и т.п.)