Machez
@Machez
Бу!

Как в Битриксе получить дерево разделов каталога в виде вложенного массива?

Есть каталог с разделами, которые разумеется вложены друг в друга (камне удалось выяснить из доки в битриксе это решается на уровне служеьных свойст LEFT_MARGIN, RIGHT_MARGIN и DEPTH_LEVEL).

Есть ли функционал, который возвращает дерево разделов от указанного элемента (например от CIBlockSection::GetByID) в виде многомерного массива, где вложенность элементов соответствует схеме PARREN -> CHILD ?
  • Вопрос задан
  • 2675 просмотров
Решения вопроса 1
@Anubis_I
выбрать разделы с помощью CIBlockSection::GetTreeList, и заполнить результирующий массив (использовать LEFT_MARGIN+DEPTH_LEVEL)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
winer
@winer
занимаюсь разработкой сайтов на 1c-bitrix
Стандартного метода в API битрикс, который бы вернул дерево разделов от указанного элемента - НЕТ.

Но можно воспользоваться CIBlockSection::GetNavChain, который возвращает путь по дереву от корня до раздела SECTION_ID в виде массива.

Если Вам принципиально видеть выходной набор данный в виде дерева, напишите функцию обёртку над CIBlockSection::GetNavChain, которая переделает битриксовый массив в нужный вам формат
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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