Умный фильтр на главной странице Битрикс

Просмотров: 24510

Редкая но востребованная задачка- это вывести компонент "умный фильтр" на главную страницу магазина на Битрикс. При этом так, что бы он отправлял на результат выдачи на другой странице сайта. Реализуется достаточно просто, но вопрос важный, так как задают его часто

Как мы знаем "Компонент должен подключаться перед компонентом вывода элементов каталога, иначе список элементов фильтроваться не будет"

Но приложив небольшую хитрость, мы обманем это правило, не нарушив его. Нам нужно отправить GET запрос умного фильтра, на другую страницу, где уже выведен компонент "Элементы раздела". Для полного фен-шуя и оптимальной реализации сайта с точки зрения логики и функционала, используем параметры имеющегося каталога, не создавая отдельную страницу.
Подробности в видео

Умный фильтр на главной Битрикс

Обратите внимание: на заметку Умный фильтр во всплывающей панели на мобильных.
Михаил Базаров 31.01.2017
Цитата
Dos Sh написал:
Здравствуйте Михаил, из за мое комментария раздел блог-note перестал работать ) извините.

Подскажите пожалуйста, как можно вывести результаты фильтра на странице СПИСКА ТОВАРОВ(catalog.section в комплексном компоненте catalog) до этого я пытался в ручную писать раздел в форме где action атрибут пример так (catalog/kamen тут php код) KAMEN это раздел, результаты выводит. Мне нужно чтобы разделы сами автомат формировались, как это можно реализовать ? Заранее спасибо. На странице СПИСКА КАТАЛОГА есть фильтр.
Вроде бы все работает) Не знаю что сломалось

По поводу формирования ссылки, тут придется переписывать компонент, причем достаточно сложная работа предстоит. ТО есть, просто из типового, вы такое не проделаете
Максим Гончаров 08.12.2017
Михаил, добрый день!
Благодарю Вас за полезный сайт!

Подскажите, пожалуйста, на счет умного фильтра (УФ).
По умолчанию, УФ каталога не выводится в корневой папке каталога (например /catalog/). Но если мы проваливаемся на уровень ниже (например /catalog/printers/), УФ появляется справа от каталога. Ну и далее он также присутствует справа от товара.

Вопрос следующий. Как исключить появление УФ на ВТОРОМ (например /catalog/printers/) уровне, но сохранить его отображение на последующих уровнях (например /catalog/printers/canon/) и т.д.?

Буду благодарен за ответ.

С уважением,
Гончаров Максим
Михаил Базаров 08.12.2017
Цитата
Максим Гончаров написал:
Михаил, добрый день!
Благодарю Вас за полезный сайт!

Подскажите, пожалуйста, на счет умного фильтра (УФ).
По умолчанию, УФ каталога не выводится в корневой папке каталога (например /catalog/). Но если мы проваливаемся на уровень ниже (например /catalog/printers/), УФ появляется справа от каталога. Ну и далее он также присутствует справа от товара.

Вопрос следующий. Как исключить появление УФ на ВТОРОМ (например /catalog/printers/) уровне, но сохранить его отображение на последующих уровнях (например /catalog/printers/canon/) и т.д.?

Буду благодарен за ответ.

С уважением,
Гончаров Максим
Можно навесить над ним, проверку уровня вложенности
Если память не изменяет, она передается в параметре
$arResult['VARIABLES']['SECTION_DEPTH_LEVEL']

Более точно, можно увидеть распечатав массив, с помощью print_r($arResult) и в файле section.php
Sunta_sam 09.01.2018
Михаил, подскажите как заставить умный фильтр корректно работать в sections.php !?
Проблема возникает при включенной функции "показывать цены в одной валюте" - он выдает результаты элементов, только не привязанных к разделам каталога (НО,  почему-то, при выставлении ценового диапазона он показывает верное количество). Если же отключить конвертацию, всё отображает корректно. В section.php всё отображается правильно, ползунок в фильтре в рублях.
Андрей Кременец 24.05.2019
А как сделать ajax фильтрацию на главной? Переход в каталог не нужен. Нужна сразу выдача по фильтру на главной странице.
Михаил Базаров 24.05.2019
Цитата
Андрей Кременец написал:
А как сделать ajax фильтрацию на главной? Переход в каталог не нужен. Нужна сразу выдача по фильтру на главной странице.
Тут конечно по сложнее. Из быстрого, дабавьте catalog.section, под фильтр, не показывая сами товары (если не применен фильтр).
При применении фильтра, если параметр не пустой, показывайте товары.

Ну и все это, подружить с AJAX.
kin2805@yandex.ru 29.11.2019
Здравствуйте! Спасибо за статью, все предельно понятно. Только возник такой вопрос. Видимо, у меня новая версия Битрикс, УФ передает не гет параметры, а совершает переход на страницу с урлом типа "catalog/shampuni/filter/price-цена-from-48-to-130/apply/". В настройках каталога есть опция "Url раздела для умного фильтра", значение имеет такое: "#SECTION_CODE#/filter/#SMART_FILTER_PATH#/apply/". Если убрать SECTION_CODE (или SECTION_ID), то фильтр вообще не работает.  В связи с этим, подскажите, пожалуйста, как правильно поставить УФ на странице каталога, где выводятся все товары? Сейчас он переходит на страницу "catalog/filter/price-цена-from-48-to-130/apply/" и выдает 404 ошибку(
Guest 03.08.2021
Михаил, добрый день! Скажите пожалуйста, можно ли как-то использовать умный фильтр на странице результатов поиска? То есть фильтровать то что нашлось по поиску.
Михаил Базаров 03.08.2021
Цитата
Guest написал:
Михаил, добрый день! Скажите пожалуйста, можно ли как-то использовать умный фильтр на странице результатов поиска? То есть фильтровать то что нашлось по поиску.
Как-то такой задачей ни разу не заморачивался.
Но технически, можно попробовать передать в умный фильтр, тот же параметр (название фильтра) что используется и в поиске.
По идее, должны обьедениться
Дмитрий 09.02.2022
Здравствуйте. Делаю умный фильтр в шапке сайта так, что он выводится на всем сайте. После фильтрации, результат вывожу в разделе /catalog/. Все работает, но вот ЧПУ настроить не получается. Например так "/catalog/filter/cat_proizv-is-abita/". Можно ли это сделать, помогите пожалуйста