|
Компонент подготавливает фильтр для выборки из инфоблока и выводит форму фильтра для фильтрации элементов. Компонент должен подключаться перед компонентом вывода элементов каталога, иначе список элементов фильтроваться не будет. Компонент содержит четыре шаблона: .default, horizontal, bitronic-vertical, bitronic-horizontal.
В визуальном редакторе компонент расположен по пути Контент > Каталог > Kombox: Умный фильтр.
Иконка компонента имеет вид: .
Пример вызова $APPLICATION->IncludeComponent(
"kombox:filter",
"horizontal",
array(
"IBLOCK_TYPE" => "catalog",
"IBLOCK_ID" => "3",
"FILTER_NAME" => "f",
"SECTION_ID" => "19",
"SECTION_CODE" => "",
"HIDE_NOT_AVAILABLE" => "N",
"CACHE_TYPE" => "A",
"CACHE_TIME" => "36000000",
"CACHE_GROUPS" => "Y",
"SAVE_IN_SESSION" => "N",
"PAGER_PARAMS_NAME" => "arrPager",
"INCLUDE_JQUERY" => "N",
"PAGE_URL" => "/tv/",
"MESSAGE_ALIGN" => "LEFT",
"MESSAGE_TIME" => "0",
"IS_SEF" => "N",
"CLOSED_PROPERTY_CODE" => array(
0 => "HDD",
1 => "MEMORY",
2 => "PROCESSOR",
3 => "PROCESSOR_FREQUANCE",
4 => "BLUETOOTH",
5 => "LED",
6 => "WIFI",
7 => "SMART_TV",
8 => "USB",
9 => "SUPPORT_3D",
10 => "WEIGHT",
11 => "TIME2",
12 => "SUPPORT_3D",
13 => "",
),
"CLOSED_OFFERS_PROPERTY_CODE" => array(
0 => "",
1 => "",
),
"SORT" => "N",
"FIELDS" => array(
0 => "SECTIONS",
1 => "STORES",
2 => "QUANTITY",
3 => "AVAILABLE",
),
"TOP_DEPTH_LEVEL" => "0",
"PRICE_CODE" => array(
0 => "BASE",
),
"CONVERT_CURRENCY" => "Y",
"CURRENCY_ID" => "RUB",
"XML_EXPORT" => "Y",
"SECTION_TITLE" => "NAME",
"SECTION_DESCRIPTION" => "DESCRIPTION",
"COLUMNS" => "4",
"STORES_ID" => array(
)
),
false
);
Пример подключения в шаблоне компонента bitrix:catalog
$APPLICATION->IncludeComponent(
"kombox:filter",
"", //шаблон - .default (можно указать horizontal, bitronic_vertical или bitronic_horizontal)
array(
"IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"],
"IBLOCK_ID" => $arParams["IBLOCK_ID"],
"FILTER_NAME" => $arParams["FILTER_NAME"],
"SECTION_ID" => $arResult["VARIABLES"]["SECTION_ID"],
"SECTION_CODE" => $arResult["VARIABLES"]["SECTION_CODE"],
"HIDE_NOT_AVAILABLE" => $arParams["HIDE_NOT_AVAILABLE"],
"CACHE_TYPE" => $arParams["CACHE_TYPE"],
"CACHE_TIME" => $arParams["CACHE_TIME"],
"CACHE_GROUPS" => $arParams["CACHE_GROUPS"],
"SAVE_IN_SESSION" => "N",
"INCLUDE_JQUERY" => "Y",
"MESSAGE_ALIGN" => "LEFT",
"MESSAGE_TIME" => "0",
"IS_SEF" => "N",
"CLOSED_PROPERTY_CODE" => array(),
"CLOSED_OFFERS_PROPERTY_CODE" => array(),
"SORT" => "N",
"FIELDS" => array(),
"PRICE_CODE" => $arParams["PRICE_CODE"],
"CONVERT_CURRENCY" => $arParams["CONVERT_CURRENCY"],
"CURRENCY_ID" => $arParams["CURRENCY_ID"],
"XML_EXPORT" => "Y",
"SECTION_TITLE" => "NAME",
"SECTION_DESCRIPTION" => "DESCRIPTION"
"PAGER_PARAMS_NAME" => $arParams["PAGER_PARAMS_NAME"]
),
false
);
Описание параметров
Поле
|
Параметр
|
Описание
|
Источник данных
|
Тип инфоблока
|
IBLOCK_TYPE
|
Указывается один из созданных в системе типов информационных блоков.
|
Инфоблок
|
IBLOCK_ID
|
Для выбранного типа инфоблоков указывается идентификатор информационного блока, элементы которого будут отфильтрованы.
|
Имя выходящего массива для фильтрации
|
FILTER_NAME
|
Задается имя переменной, в которую передается массив параметров из фильтра. Если имя массива не указано, то будет использоваться значение по умолчанию.
|
ID раздела
|
SECTION_ID
|
Указывается ID раздела инфоблока.
|
Код раздела
|
SECTION_CODE
|
Указывается символьный код раздела, из которого будут выбраны элементы. Поле может быть оставлено пустым, если указан ID раздела.
|
Настройки кеширования
|
Тип кеширования
|
CACHE_TYPE
|
Тип кеширования:
· A - Авто + Управляемое: автоматически обновляет кеш компонентов в течение заданного времени или при изменении данных;
· Y - Кешировать: для кеширования необходимо определить время кеширования;
· N - Не кешировать: кеширования нет в любом случае.
|
Время кеширования (сек.)
|
CACHE_TIME
|
Время кеширования, указанное в секундах.
|
Учитывать права доступа
|
CACHE_GROUPS
|
[Y|N] При отмеченной опции будут учитываться права доступа при кешировании.
|
Дополнительные настройки
|
Сохранять установки фильтра в сессии пользователя
|
SAVE_IN_SESSION
|
[Y|N] При отмеченной опции установки фильтра будут сохраняться в сессии пользователя.
|
Имя массива с переменными для построения ссылок в постраничной навигации
|
PAGER_PARAMS_NAME
|
Задается имя переменной, в которой передается массив с переменными для построения ссылок компонентом постраничной навигации.
|
Подключить библиотеку jQuery
|
INCLUDE_JQUERY
|
[Y|N] При отмеченной опции компонент будет подключать библиотеку jquery.
|
Путь к разделу (если фильтр располагается на другой странице)
|
PAGE_URL
|
Путь к странице, на которую фильтр будет переходить при фильтрации (нужен если фильтр находится на одной странице, а результат фильтрации необходимо отобразить на другой)
|
Выводить сообщение с количеством найденных элементов
|
MESSAGE_ALIGN
|
Задается с какой стороны выводить сообщение с количеством найденных элементов:
· LEFT - слева;
· RIGHT - справа;
|
Через сколько секунд скрывать сообщение (0 - не скрывать)
|
MESSAGE_TIME
|
Задается интервал в секундах в течении которого будет показываться сообщение с количеством найденных элементов (0 – сообщение не будет скрываться)
|
Режим самостоятельного определения текущего раздела
|
Включить
|
IS_SEF
|
[Y|N] Включает режим, в котором компонент сам будет определять ID текущего раздела, исходя из заданных шаблонов URL раздела и элемента. В этом режиме компоненту не нужно задавать параметры "ID раздела инфоблока" (SECTION_ID) и "Символьный код раздела инфоблока" (SECTION_CODE). В основном этот режим используется, если вы хотите отображать фильтр на всех страницах сайта, а не только в каталоге. Не путайте его с ЧПУ URL фильтра, который включается в настройках модуля.
|
Путь к каталогу ЧПУ (относительно корня сайта)
|
SEF_BASE_URL
|
Путь к разделу, в котором расположен компонент bitrix:catalog
|
Шаблон URL, ведущий на страницу с содержимым раздела
|
SECTION_PAGE_URL
|
Шаблон URL к разделу, совпадающий с параметром SEF_URL_TEMPLATES[section] компонента bitrix:catalog
|
Шаблон URL, ведущий на страницу с содержимым элемента раздела
|
DETAIL_PAGE_URL
|
Шаблон URL к детальной странице товара, совпадающий с параметром SEF_URL_TEMPLATES[element] компонента bitrix:catalog
|
Настройки полей
|
Свойства, которые будут свернуты
|
CLOSED_PROPERTY_CODE
|
Указываются свойства инфоблока, которые будут по умолчанию свернуты при показе фильтра. При выборе пункта (не выбрано)-> и без указания кодов свойств в строках ниже, свойства свернуты не будут.
|
Свойства предложений, которые будут свернуты
|
CLOSED_OFFERS_PROPERTY_CODE
|
Указываются свойства предложений, которые будут по умолчанию свернуты при показе фильтра. При выборе пункта (не выбрано)-> и без указания кодов свойств в строках ниже, свойства свернуты не будут.
|
Сортировать поля фильтра
|
SORT
|
[Y|N] Включает сортировку полей фильтра по индексу сортировки
Поля фильтра будут отсортированы по индексу сортировки. Для свойств индексы сортировки можно задать в форме настроек инфоблока, для цен - в настройках цены, для дополнительных полей (Склады, Подразделы и т.д.) в настроках компонента (см. ниже).
|
Порядок сортировки полей
|
SORT_ORDER
|
Указывает направление сортировки полей:
· ASC – по возрастанию;
· DESC – по убыванию;
|
Показывать поля в фильтре
|
FIELDS
|
Указываются поля, которые будут выведены в фильтре. Массив, который может содержать значения:
· SECTIONS - подразделы;
· STORES - склады;
· QUANTITY – количество на складе
· AVAILABLE – наличие на складе
|
Индекс сортировки поля "Подразделы"
|
SORT_SECTIONS
|
Индекс сортировки для поля «Подразделы» - число
|
Максимальная отображаемая глубина разделов
|
TOP_DEPTH_LEVEL
|
Число – указывает максимальную глубину вложенности подразделов для поля «Подразделы», относительно текущего раздела (0 – неограниченная глубина).
|
Индекс сортировки поля "Склады"
|
SORT_STORES
|
Индекс сортировки для поля «Склады» - число
|
Индекс сортировки поля "Количество"
|
SORT_QUANTITY
|
Индекс сортировки для поля «Количество» - число
|
Индекс сортировки поля "Наличие"
|
SORT_AVAILABLE
|
Индекс сортировки для поля «Наличие» - число
|
Цены
|
Тип цены
|
PRICE_CODE
|
Указывается тип цены для выводимых элементов.
|
Показывать цены в одной валюте
|
CONVERT_CURRENCY
|
При установке флажка цены будут выводиться в одной валюте, даже если в каталоге они будут заданы в разных валютах. При выборе этой опции кеш компонента будет автоматически сбрасываться при изменении курсов валют тех товаров, что показываются компонентом. К примеру, если выбрана конвертация в рубли, а цены в инфоблоке сохранены в евро, то кеш сбросится при изменении курса евро или рубля. Изменения остальных валют на кеш не окажут влияния.
|
Валюта, в которую будут сконвертированы цены
|
CURRENCY_ID
|
Выбор валюты в которой будут отображаться цены.
|
Складской учет
|
Не отображать товары, которых нет на складах
|
HIDE_NOT_AVAILABLE
|
[Y|N] При отмеченной опции будут скрыты товары, для которых общее количество на складах меньше либо равно нулю, включен количественный учет и не разрешена покупка при отсутствии товара.
|
Выводить товары со складов
|
STORES_ID
|
Указывает те склады, товары с которых будут отображаться и по которым будет осуществляться фильтрация. Чтобы в фильтрации участвовали все склады, оставьте список пустым.
Рекомендуемое значение - все склады.
Этот параметр может увеличить нагрузку на сервер
|
Поддержка Яндекс Островов (экспорт фильтра в XML)
|
Включить поддержку Яндекс Островов
|
XML_EXPORT
|
[Y|N] При отмеченной опции будет включена поддержка Яндекс Островов.
|
Заголовок
|
SECTION_TITLE
|
Указывается поле, которое будет использоваться в качестве заголовка раздела.
|
Описание
|
SECTION_DESCRIPTION
|
Задается поле, которое будет использоваться в качестве описания раздела.
|
Настройки модуля |
Описание курса
| Установка
|