Skip to content
  1. Компоненты
  2. simpleFilters
  3. Сниппеты

simpleFilters

Выводит список ресурсов, фильтры, подключает все необходимые скрипты и стили.

Параметры

ПараметрОписаниеЗначение по умолчанию
&parentsРодители для выборки. ID через запятую.Текущий ресурс
&resourcesРесурсы для выборки. ID через запятую.
&showUnpublishedВывод неопубликованных ресурсов0
&templatesШаблоны ресурсов через запятую
&fromIndexВыборка из индекса1
&whereПервоначальная выборка в JSON-формате
&sortbyПоле для сортировкиmenuindex
&sortdirНаправление сортировкиASC
&limitКоличество на страницу10
&includeTVsTV-поля через запятую для включения в вывод
&tvPrefixПрефикс для TV-полей в чанке ресурсаtv_
&msPrefixПрефикс для полей товара miniShop3ms_
&msoPrefixПрефикс для опций товара miniShop3mso_
&hideOneСкрывать фильтры с одним значением1
&checkEmptyПросчитывать результат для каждого значения фильтра, чтобы отключать неактивные0
&filtersСписок фильтров в формате поле1:тип_поля1,поле2:тип_поля2,поле3:тип_поля3
&aliasesПсевдонимы фильтров для URL в формате поле1==псевдоним1,поле2==псевдоним2,поле3==псевдоним3
&fseparatorРазделитель значений фильтра в адресной строке_
&modeРежим работы: and — совпадение всех условий, or — совпадение хотя бы одного условияor
Шаблонизация
&tplЧанк вывода ресурса
&tplWrapperЧанк-обёртка всего выводаsf_wrapper
&tplFilterЧанк блока фильтра типа чекбокс или радиокнопкаsf_filter
&tplFilterRowЧанк строки фильтра типа чекбоксsf_filter_row
&tplFilterRadioRowЧанк строки фильтра типа радиокнопкаsf_filter_radio_row
&tplFilterSelectЧанк блока фильтра типа селектsf_filter_select
&tplFilterSelectRowЧанк опции фильтра типа селектsf_filter_option_row
&tplFilterSliderЧанк блока фильтра типа слайдерsf_filter_slider
&tplSelectedЧанк оформления блока выбранного фильтраsf_selected_filter
&tplSelectedRowЧанк оформления строки выбранного фильтраsf_selected_row
Пагинация
&tplPaginationWrapperЧанк-обёртка блока пагинацииsf_pagination
&tplPaginationЧанк вывода ссылки на страницуsf_page
&tplPaginationFirstЧанк вывода ссылки на первую страницуsf_page_first
&tplPaginationLastЧанк вывода ссылки на последнюю страницуsf_page_last
&tplMoreButtonЧанк вывода кнопки «Загрузить ещё»sf_morebutton

Настройка фильтров

В параметре &filters используйте следующие префиксы:

  • Поле ресурса — без префикса
  • TV-параметр — tv_
  • MIGX-поле — migx_
  • Поле товара MiniShop3 — ms_
  • Опция товара MiniShop3 — mso_

Для типов:

  • Чекбокс — checkbox или оставить пустым
  • Выпадающий список — select
  • Слайдер — slider
  • Радиокнопка — radio

Пример указания списка фильтров и псевдонимов:

&filters=`
    parent:select,
    ms_vendor_id:select,
    ms_price:slider,
    tv_instock:slider,
    migx_chars_Высота:slider:title|value,
    ms_color,
    ms_tags:select
`
&aliases=`
    ms_vendor_id==brand,
    ms_price==price,
    tv_instock==instock,
    migx_chars_Высота==height,
    ms_color==color,
    ms_tags==tags
`

MIGX-поля

Поля этого типа указываются в формате:

migx_[имя tv]_[название параметра]:[тип фильтра]:[поле названия]|[поле значения]

Допустим есть MIGX-TV chars с такой конфигурацией:

json
[{"fields":
  [
    {"field":"title", "caption":"Параметр"},
    {"field":"value", "caption":"Значение"}
  ]
}]

А у товаров значения указываются следующим образом:

MIGX значения

Чтобы создать фильтр-слайдер для параметра «Высота» нужно прописать:

migx_chars_Высота:slider:title|value

Фильтр для параметра «Назначение» в виде чекбоксов так:

migx_chars_Назначение:title|value

В настройке индексации sf_index_fields всегда без указания типа фильтра:

migx_chars_Назначение:title|value,migx_chars_Высота:title|value

Параметр &where

Поддерживает один параметр/значение. Работает только с таблицами ресурса и продукта MiniShop3 (поля указываются без префиксов, как в базе).

ОписаниеПример
Вывод новинок'where' => '{"new":"1"}'
Вывод товаров с ценой больше 2000'where' => '{"price:>":"2000"}'
Вывод ресурсов со словом "скидка" в longtitle'where' => '{"longtitle:like":"скидка"}'

Шаблонизация

В чанках по умолчанию используется Fenom (требуется наличие pdoTools), но поддерживается и стандартный синтаксис.

Компонент поддерживает кастомные чанки для разных фильтров.

Для этого нужно указать параметры в виде &tplFilter_параметр и &tplFilterRow_параметр.

Например, если требуется для фильтра по тегам (ms_tags) какое-то своё оформление, создайте соответствующие чанки и укажите в вызове:

&tplFilter_ms_tags=`чанк_для_блока`
&tplFilterRow_ms_tags=`чанк_для_элемента`

Если для параметра указан псевдоним, то используется он:

$aliases=`ms_tags==tag`
&tplFilter_tag=`чанк_для_блока`
&tplFilterRow_tag=`чанк_для_элемента`

Названия блоков фильтров задаются через лексиконы в формате sf_filter_фильтр (также можно менять в плагине).

simpleFiltersSiteMap

Сниппет добавляет ссылки на SEO-страницы в карту сайта.
Пример использования с pdoSitemap:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

{'pdoSitemap' | snippet : [
  'forceXML' => 0
]}
{'simpleFiltersSiteMap' | snippet : [
  'tpl' => 'sf_sitemap_tpl'
]}
</urlset>

simpleFiltersUpdate

Выполняет обновление индекса. Для запуска по расписанию используйте CronManager или Scheduler