Есть страница расширенного поиска. На ней расположены компоненты: Умный фильтр и Элементы раздела.
Все работает, но необходим UI селект бокс с фильтром по категории Каталога. Как реализовать?
Очевидно: кастомизировать компонент умного фильтра.
Можно, конечно, постараться и обойтись кастомизацией только шаблона умного фильтра. В таком случае ядро не будет затронуто.
Добиться этого можно путем переноса списка разделов в блок фильтра и представлением его в виде select (дописать необходимые JS-скрипты).
По шагам:
1. В шаблоне Умного фильтра формируете список разделов (название, адрес).
2. Добавляете в верстку умного фильтра select, в который передаете список разделов.
3. Пишете JS-скрипт, который по событию change Вашего select будет дописывать к адресу выбранного раздела параметры фильтра и выполнять редирект на сформированный адрес.
4. Дописываете функционал для показа в select текущего раздела.
Александр Дио, нет, конечно. Потому что такой задачи в принципе нет.
Категории каталога -- это разделы сайта. У каждой есть свой URL. Нет необходимости размещать их в фильтре.
Александр Дио, если у Вас одна страница, тогда не следует использовать разделы в каталоге.
Создайте свойство товара "Категория" и добавьте его в фильтр.
Категории каталога -- это разделы сайта. У каждой есть свой URL. Нет необходимости размещать их в фильтре.
Если Вам не нужен такой функционал разделов (свой URL), возможно, стоит пересмотреть архитектуру каталога и использовать свойства вместо разделов.
Если же разделы нужны, но и фильтровать по ним Вы тоже хотите -- кастомизируйте фильтр. Поскольку, как я уже сказал выше, стандартно такая задача не стоит. Умный фильтр был разработан для того, чтобы работать в конкретном разделе.
ID передается на этапе инициализации.
Т.е. если Вы планируете передавать в фильтр разные ID раздела (например, из данных запроса), то Вам придется перезагружать страницу (либо подменять ее по AJAX).