+7 495 008 8452 пн.-пт. 10:00 – 17:00
Если у вас возникли какие либо вопросы которые вы не смогли решить по нашим публикациям самостоятельно,
то ждем ваше обращение в нашей службе тех поддержки.


Фильтрация каталога без использования компонента фильтр

Добрый день. В этой статье я покажу, как можно отфильтровать элементы секции каталога без использования компонента фильтр и без кастомизации.

Многие клиенты хотят использовать в своих каталогах товаров возможность фильтрации, но не хотят выводить компонент фильтра (catalog.filter) на странице, так как не хотят перегружать страницу компонентами. Это вполне можно обойти, так как в простых компонентах каталога оставлена лазейка, а именно - входящий параметр "Имя массива со значениями фильтра для фильтрации".

Массив фильтра можно определить прямо на странице, где подключается компонент, перед его подключением. Однако, в таком случае, придется создавать несколько страниц, на каждой помещать компонент и т.д. Можно сделать гораздо проще - передавать переменные массива фильтра в ссылке.

В нашем случае будет происходить переход с другой страницы, и переменные для фильтрации можно передать в ссылке методом GET, а на странице определять фильтр $arrFilter из массива $_GET.

Создаем пример стартовой страницы с набором ссылок, в моем случае это список годов выпуска книг:

Ссылки с этой страницы будут иметь вид например:

../e-store/books/my_sect.php?SECTION_ID=13&YEAR=2003

Далее, на странице ../e-store/books/my_sect.php мы размещаем компонент bitrix:catalog.section. Перед подключением компонента, мы пишем:

$year=$_GET['YEAR'];
$arrFilter=array("PROPERTY"=>array("YEAR"=>"$year"));




В настройках компонента заполняем поле "Имя массива со значениями фильтра для фильтрации элементов" - arrFilter.




Получаем отфильтрованный по году издания список книг, и нет необходимости выводить дополнительный компонент фильтра:



Назад в раздел

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












CAPTCHA