Есть необходимость фильтровать товары по разделам аналогично фильтрации по свойствам с использованием "умного фильтра".
"Умный фильтр" не предусматривает "умную" фильтрацию по разделам. В параметрах компонента просто есть SECTION_ID, который указывает родительский раздел. А нужно, чтобы фильтрация по разделам происходила аналогично фильтрации по свойствам.
Например. Есть магазин одежды. Товары разнесены по разделам: брюки, шорты, футболки. У товаров есть свойство ЦВЕТ.
Если мы заходим на страницу раздела, например ШОРТЫ, то в фильтре отображаются только те цвета, которые есть в данном разделе. Это замечательно, и это правильно. Но нужно, чтобы и находясь в общем списке товаров (не выбирая раздел), и отфильтровав товары по цвету, выбрав, например, КРАСНЫЙ, мы получили в фильтре список разделов, где есть товары красного цвета.
Напрашивается вариант добавить свойство РАЗДЕЛ и записывать туда название раздела, но это будет дублирование информации. Хотя, как мне кажется, это самый простой способ.
Надеюсь описал понятно. Подскажите варианты, кто такое делал или пытался делать.
"Умный фильтр" не предусматривает "умную" фильтрацию по разделам. В параметрах компонента просто есть SECTION_ID, который указывает родительский раздел. А нужно, чтобы фильтрация по разделам происходила аналогично фильтрации по свойствам.
Например. Есть магазин одежды. Товары разнесены по разделам: брюки, шорты, футболки. У товаров есть свойство ЦВЕТ.
Если мы заходим на страницу раздела, например ШОРТЫ, то в фильтре отображаются только те цвета, которые есть в данном разделе. Это замечательно, и это правильно. Но нужно, чтобы и находясь в общем списке товаров (не выбирая раздел), и отфильтровав товары по цвету, выбрав, например, КРАСНЫЙ, мы получили в фильтре список разделов, где есть товары красного цвета.
Напрашивается вариант добавить свойство РАЗДЕЛ и записывать туда название раздела, но это будет дублирование информации. Хотя, как мне кажется, это самый простой способ.
Надеюсь описал понятно. Подскажите варианты, кто такое делал или пытался делать.