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

Просмотров: 9505 | Комментариев: 10

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

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

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

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


Подскажите, а как фильтровать категории с товарами, а не сами товары?
Как на этом сайте http://www.plitkanadom.ru
заранее спасибо!
Михаил
Цитата
Владимир написал:
Подскажите, а как фильтровать категории с товарами, а не сами товары?
Как на этом сайте  http://www.plitkanadom.ru
заранее спасибо!
Жесть какая-то на сайте :) вообще не понял о чем он
Я бы использовал свойство "Привязка к разделам"
Цитата
Михаил Базаров пишет:
Жесть какая-то на сайте   вообще не понял о чем он
Я бы использовал свойство "Привязка к разделам"

Судя по надписи в правом нижнем углу это студийная разработка :)  (в портфолио у них 210 сайтов)
Михаил, у вас есть статья или видеоролик, как с помощью свойства "Привязка к разделам" фильтровать категории?
Задача фильтровать категории-коллекции по определенным свойствам:

  • цвет
  • поверхность
  • страна
  • рисунок
и так далее
Да так, чтобы никто не подумал, что это жесть какая то  :)
Уточнение: категорий будет явно больше 1000. Хотелось бы совета специалиста, как всё это организовать, чтобы потом не было мучительно больно...
Dos
Здравствуйте Михаил, из за мое комментария раздел блог-note перестал работать ) извините.

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

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

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

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

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

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

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

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

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

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

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

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

Ну и все это, подружить с AJAX.
Здравствуйте! Спасибо за статью, все предельно понятно. Только возник такой вопрос. Видимо, у меня новая версия Битрикс, УФ передает не гет параметры, а совершает переход на страницу с урлом типа "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 ошибку(

Кроме создания сайтов, я так же веду блог с заметками о вебразработке, записываю бесплатные видеоуроки и содержу форум, на котором можно задавать вопросы и просто общаться. Заметки, преимущественно - это короткие или подробные рецепты, по реализации часто требуемого функционала- в рамках разработки сайтов на 1С-Битрикс

Показать еще