Документация для разработчиков

Умный фильтр

Компонент подготавливает фильтр для выборки из инфоблока и выводит форму фильтра для фильтрации элементов. Компонент должен подключаться перед компонентом вывода элементов каталога, иначе список элементов фильтроваться не будет. Компонент стандартный, входит в дистрибутив модуля и содержит три шаблона: .default, visual_horizontal и visual_vertical. (Последние два шаблона не поддерживаются, остались для сохранения совместимости.)

В визуальном редакторе компонент расположен по пути Контент > Каталог > Умный фильтр.

Компонент относится к модулю Информационные блоки.

Пример вызова компонента catalog.smart.filter

Секции настроек компонента:

  • Источник данных
  • Внешний вид
  • Управление адресами страниц
  • Настройки кеширования
  • Дополнительные настройки
  • Цены
  • Поддержка Яндекс Островов (экспорт фильтра в XML)
  • Описание параметров

    ПолеПараметрОписание
    Источник данных
    Тип инфоблокаIBLOCK_TYPEУказывается один из созданных в системе типов информационных блоков.
    ИнфоблокIBLOCK_IDДля выбранного типа инфоблоков указывается идентификатор информационного блока, элементы которого будут отфильтрованы.
    ID раздела инфоблокаSECTION_IDУказывается идентификатор раздела, фильтрация элементов которого должна выполняться. Можно не указывать, если задан Код раздела.

    Примечание: при включенном режиме ЧПУ параметр настраивается в секции Управление адресами страниц.
    Код разделаSECTION_CODEУказывается код раздела, фильтрация элементов которого должна выполняться. Можно не указывать, если задан ID раздела инфоблока.

    Примечание: при включенном режиме ЧПУ параметр настраивается в секции Управление адресами страниц.
    Имя выходящего массива для фильтрацииFILTER_NAMEЗадается имя переменной, в которую передается массив параметров из фильтра. Если имя массива не указано, то будет использоваться значение по умолчанию.
    Не отображать товары, которых нет на складахHIDE_NOT_AVAILABLE[Y|N] При отмеченной опции будут скрыты товары, для которых общее количество на складах меньше либо равно нулю, включен количественный учет и не разрешена покупка при отсутствии товара.
    Внешний вид
    Цветовая темаTEMPLATE_THEMEЗадается цветовая схема для отображения фильтра. По умолчанию используется синяя схема (blue).
    Вид отображения умного фильтраFILTER_VIEW_MODEЗадается вид отображения умного фильтра: вертикальный (VERTICAL) или горизонтальный (HORIZONTAL).
    Позиция для отображения всплывающего блока с информацией о фильтрацииPOPUP_POSITIONЗадается позиция отображения всплывающего блока: слева (left) или справа (right).
    Показывать количествоDISPLAY_ELEMENT_COUNT[Y|N] При отмеченной опции в всплывающем блоке будет показано количество отобранных элементов в соответствии с условиями фильтрации.
    Управление адресами страниц
    Включить поддержку ЧПУSEF_MODE[Y|N] При отмеченной опции включается поддержка ЧПУ и становятся доступными поля настройки ЧПУ.
    Правило для обработкиSEF_RULEУказывается правило обработки вызова умного фильтра. Для создания правила следует использовать шаблоны, доступные по кнопке [...].

    Например, компонент умного фильтра расположен на странице /examples/books/section.php, тогда правило может быть задано следующим образом:
    /examples/books/#SECTION_ID#/filter/#SMART_FILTER_PATH#/apply/
    
    где filter, apply - произвольные выражения-ограничители, но обязательно присутствующие в правиле.
    ID раздела инфоблокаSECTION_IDУказывается ID раздела инфоблока. Можно не задавать, если указан Код раздела или Путь из символьных кодов раздела.

    Примечание: при отключенном режиме ЧПУ параметр настраивается в секции Источник данных.
    Код разделаSECTION_CODEУказывается символьный код раздела инфоблока. Можно не задавать, если указан ID раздела инфоблока или Путь из символьных кодов раздела.

    Примечание: при отключенном режиме ЧПУ параметр настраивается в секции Источник данных.
    Путь из символьных кодов разделаSECTION_CODE_PATHЗадается путь из символьных кодов раздела инфоблока. Можно не задавать, если указан Код раздела или ID раздела инфоблока.
    Блок ЧПУ умного фильтраSMART_FILTER_PATHЗадается блок с параметрами фильтрации. По умолчанию подставляется значение ={$_REQUEST["SMART_FILTER_PATH"]}.
    Настройки кеширования
    Тип кешированияCACHE_TYPEТип кеширования:
    • A - Авто + Управляемое: автоматически обновляет кеш компонентов в течение заданного времени или при изменении данных;
    • Y - Кешировать: для кеширования необходимо определить время кеширования;
    • N - Не кешировать: кеширования нет в любом случае.
    Время кеширования (сек.)CACHE_TIMEВремя кеширования, указанное в секундах.
    Учитывать права доступаCACHE_GROUPS[Y|N] При отмеченной опции будут учитываться права доступа при кешировании.
    Дополнительные настройки
    Сохранять установки фильтра в сессии пользователяSAVE_IN_SESSION[Y|N] При отмеченной опции установки фильтра будут сохраняться в сессии пользователя.
    Имя массива с переменными для построения ссылок в постраничной навигацииPAGER_PARAMS_NAMEЗадается имя переменной, в которой передается массив с переменными для построения ссылок компонентом постраничной навигации.
    Цены
    Тип ценыPRICE_CODEУказывается тип цены для фильтрации элементов.
    Показывать цены в одной валютеCONVERT_CURRENCY[Y|N] При отмеченной опции цены в фильтре будут отображаться в одной валюте, даже если для товаров они будут заданы в разных валютах. Будет доступно для заполнения дополнительное поле.
    Валюта, в которую будут сконвертированы ценыCURRENCY_IDВыбор валюты, в которой будут отображаться цены.


    Примечание: конвертация цен в умном фильтре работает только при созданном фасетном индексе.
    Поддержка Яндекс Островов (экспорт фильтра в XML)
    Включить поддержку Яндекс ОстрововXML_EXPORT[Y|N] При отмеченной опции будет включена поддержка Яндекс Островов.
    ЗаголовокSECTION_TITLEУказывается поле, которое будет использоваться в качестве заголовка раздела.
    ОписаниеSECTION_DESCRIPTIONЗадается поле, которое будет использоваться в качестве описания раздела.

    Примечание: в компоненте имеется специальный параметр SHOW_ALL_WO_SECTION, принимающий значения Y|N. Если задано значение Y, то будут отображены все элементы инфоблока, если не указан раздел.

    Дополнительно



    © «Битрикс», 2001-2018, «1С-Битрикс», 2018
    Наверх