Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Вывод элементов каталога с одним разделом

00 голосов
3
Здравствуйте!

Было принято решение сделать линейный каталог, без разделов, заменив их на свойство инфоблока "Товарная группа", так как необходима фильтрация по этому признаку (товарная группа), и "путешествие" по разделам на основной странице каталога не нужно (нужно сразу выводить все товары из всех подразделов, без выбора раздела).

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

Дробить комплексный компонент на подкомпоненты как-то не особенно радостно, а точнее, совсем не радостно :( : комплексный компонент предоставляет серьёзный функционал и довольно хорошо настроен. Есть возможность решить это стандартными способами, сохранив комплексный компонент? Как-то насильно передать ID секции что ли внутри самого компонента?

Заранее спасибо!
спросил 14 Окт, 13 от Eliga (360 баллов)

3 Ответы

00 голосов
Возникла та же проблема, присоединяюсь к вопросу. Подскажите, каким образом это сделать
ответил 04 Ноя, 13 от Zaumoron (140 баллов)
00 голосов
Я как-то задал этот вопрос в тех.поддержку, ответ был таким:

Логика компонента "Каталог" предполагает наличие разделов, этот компонент создавался именно с такой задачей.

Что-бы решить, для этого потребуется разрабатывать php код на основе существующих стандартных компонентов - настроить существующие компоненты так нельзя.


Хотя я сделал без того что-бы создать свои компоненты. Для этого в одном разделе поставил все товары и задал ему код, например (all). Потом,  в шаблоне каталога, скопировал скрипт section.php в sections.php, и в нем изменил параметр

Код
"SECTION_CODE" => $arResult["VARIABLES"]["SECTION_CODE"],
 
на

Код
"SECTION_CODE" => "all",
 

Так-же тут возникли вопросы с навигацией, но уже не помню как их решил.

Не знаю на сколько это правильно, но до сих пор работает нормально.
ответил 09 Фев, 14 от Muzdie (300 баллов)
00 голосов
В шаблоне комплексного компонента копируем код вызова компонента catalog.section из section.php в sections.php и добавляем параметр в catalog.section "SHOW_ALL_WO_SECTION" =>"Y"
ответил 30 Май, 14 от NitroGeN (2,840 баллов)
Всё работает!!! Спасибо!
Нашёл вариант ещё проще.

Почти то же что и у Вас, но будет работать фильтр в плюс ко всему.

1. Копируем шаблон комплексного компонента.
2. В файл sections.php записываем ровно то же что находится в файле section.php
3. ЧПУ выглядит как:
URL страницы информационного блока: /catalog/
URL страницы раздела: здесь пусто
URL страницы детального просмотра: #ELEMENT_CODE#/

В таком варианте умный фильтр будет работать из корневого раздела.

При этом параметр "SHOW_ALL_WO_SECTION" =>"Y" не понадобился.

Похожие вопросы

0 голосов
3 ответов
0 голосов
4 ответов
0 голосов
2 ответов
0 голосов
3 ответов
спросил 25 Фев, 13 от Arronaks (480 баллов)
0 голосов
6 ответов
спросил 12 Окт, 13 от Canon (260 баллов)