Перейти к содержимому

Разделы инфоблока - вывод дерева и адреса разделов

Разделы - подтема на 11 вопросов из собранных. Здесь собраны решения по выводу дерева разделов и по их адресам.

Что общего у этих задач

Разделы и элементы выводят разные компоненты. Список товаров ничего не знает о подразделах, а список разделов - о товарах внутри них. Раздел, в котором лежат только подразделы, выглядит пустой страницей до тех пор, пока второй компонент не поставлен рядом.

Дерево разделов не выводится целиком по умолчанию. Компонент показывает уровень текущего раздела, а глубина задаётся отдельным параметром. Отсюда постоянное «выводятся только категории первого уровня».

Адрес раздела собирается по шаблону из настроек инфоблока. Он не связан с физической структурой папок сайта: одна и та же страница обслуживает все разделы, разбирая адрес по правилу.

Разделы почти всегда приезжают из учётной системы. Значит, структуру правят на её стороне, а на сайте следят за адресами, картинками и порядком сортировки после каждого обмена.

С чего начать

Начинают с того, что должен увидеть посетитель в разделе с подразделами. Список подразделов, список товаров или оба списка сразу - от ответа зависит набор компонентов на странице.

Дальше проверяют глубину вывода дерева и правило адресов. Оба параметра задаются явно, и «выводится только первый уровень» почти всегда объясняется настройкой, а не ошибкой платформы.

Последним смотрят на скорость. Дерево на сотню разделов со счётчиками товаров собирается заметно дольше, чем кажется, и его почти всегда стоит кэшировать.

Решения подтемы

Частые вопросы

Почему в разделе не видно подразделов?

На странице стоит только компонент списка элементов. Подразделы выводит отдельный компонент, и его добавляют явно.

Как вывести всё дерево разделов сразу?

Параметром глубины вывода у компонента списка разделов. По умолчанию показывается только текущий уровень.

Откуда берётся адрес раздела?

Из шаблона адреса в настройках инфоблока: платформа подставляет в него код раздела и путь его родителей. Физических папок под разделы не создаётся.

Можно ли задать своё правило адресов для части разделов?

Штатно шаблон один на инфоблок. Отдельные адреса делают своим правилом обработки адресов, разбирающим путь до нужного раздела.

Связанные темы

Первоисточники