FCIBlockSection::GetTreeList

Описание

Метод статический: Возвращает список разделов инфоблока в виде полного развернутого дерева, отсортированного по полю left_margin. Переопределяет базовый метод CIBlockSection::GetTreeList и используется как обёртка над FCIBlockSection::GetList() с предустановленным порядком сортировки. Поддерживает мультиязычность: возвращает переведённые названия и описания разделов, если указан язык.

Пример вызова, аналогичный оригинальному Bitrix-примеру:

Code Copy code Code copied!
1
FCIBlockSection::GetList(["left_margin" => "asc"], $arFilter);

Сигнатура метода

Code Copy code Code copied!
1
2
3
4
5
CIBlockResult
FCIBlockSection::GetTreeList(
 array $arFilter = [],
 array $arSelect = []
);

Параметры вызова

Параметр Описание С версии
arFilter Массив фильтрации разделов. Может содержать условия по полям, таким как IBLOCK_ID, ACTIVE, DEPTH_LEVEL и т.д. 2.5.750
arSelect Массив полей для выборки. Например: ['ID', 'NAME', 'DEPTH_LEVEL']. 2.5.750

Возвращаемое значение

Метод возвращает объект CIBlockResult, содержащий список разделов, отсортированных по иерархии дерева. При наличии перевода для указанного языка возвращаются переведённые значения полей. Результаты перебираются через GetNext().

Пример

Code Copy code Code copied!
1
2
3
4
5
6
7
8
9
10
// Получаем полное дерево активных разделов инфоблока на английском языке
$arFilter = ['IBLOCK_ID' => 5, 'ACTIVE' => 'Y'];
$arSelect = ['ID', 'NAME', 'DEPTH_LEVEL'];
$LANG = 'en';

$res = FCIBlockSection::GetTreeList($arFilter, $arSelect);

while ($section = $res->GetNext()) {
    echo str_repeat(' ', ($section['DEPTH_LEVEL'] - 1) * 4) . $section['NAME'] . "<br>";
}

Примечание: Метод полезен для вывода иерархического меню, категорий в каталоге и любых структурных списков. Благодаря поддержке мультиязычности идеально подходит для локализованных интерфейсов.

Описание метода CIBlockSection::GetTreeList в официальной документации Битрикс

Количество показов: 21
Дата изменения: 23.06.2025 14:37:29