Тема муссировалась много раз, но по-прежнему не теряет актуальности. Частенько стоит задача реализовать в интернет-магазине структуру, существенно отличную от 1С. При этом возможностей БУС, очевидно, недостаточно в большом кол-ве случаев. Поэтому хороший путь, который и рекомендуется в документации Битрикс, - это 2 инфоблока: ПЕРВЫЙ, с товарами, полностью повторяет структуру 1С, а ВТОРОЙ - содержит только необходимую структуру для сайта. Первый дополняется удобным свойством привязки к элементам второго инфоблока, что и дает далее возможность выводить элементы на сайт с желаемой структурой. Но это лишь общие слова. На деле требуется кастомизация многих компонент, чтобы все это правильно работало.
На примере еще старого Битрикса, но все успешно работает и на свежем. Автору респект. Аналогичным образом можно кастомизировать и компоненты bigdata, bestsellers и проч.
Но вот со smart.filter никак не удается справиться. Необходимо заставить фильтр учитывать привязку элементов к разделу ВТОРОГО инфоблока. То есть, скажем, к разделу ВТОРОГО инфоблока привязано 5 элементов ПЕРВОГО. Открываем этот раздел, и да, кастомизированный (указанным выше способом) компонент catalog.section выдает нам только эти 5 элементов - все ок. Но при этом смартфильтр показывает диапазон цен всех товаров ПЕРВОГО инфоблока, не учитывая, что мы уже выбрали раздел, к которому привязано только 5.
Если кто-то уже работал над этим, прошу поделиться рецептом.
Пробовал это, разумеется, но считал, что недостаточно возможностей. Изучил плотнее, а возможностей-то, и правда, немало. Особенно здорово, что можно структуру для сайта сохранить в файл и загрузить в случае необходимости.
Еще бы немного гибкости в редактировании структуры сайта в этом модуле добавить: скажем, чтобы можно было перемещать уже созданные подгруппы не только вверх/вниз, но и между родительскими группами. Пока это делать нельзя. Скажем в группе А две подгруппы А1 и А2. Далее идет группа Б. И нужно А1 перенести из А в Б. Сейчас этого сделать нельзя. А было бы здорово!