Пытаюсь собрать массив с разделами инфоблока, чтобы можно было в следующем использовать первый, второй и третий уровень в шаблоне, но по какой-то причине, в массив второго уровня попадают не все разделы и вообще привязываются неправильно. В чем ошибка, кто-то может подсказать ?
<?
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) die();
$newSection = [];
$sectionLvlOne = 0;
$sectionLvlTwo = 0;
$sectionLvlThree = 0;
$arFilter = array('IBLOCK_ID' => 1, 'ACTIVE' => 'Y');
$arSelect = array('IBLOCK_ID', 'ID', 'NAME', 'SECTION_PAGE_URL', 'DETAIL_PICTURE', 'DEPTH_LEVEL', 'IBLOCK_SECTION_ID');
$rsSect = CIBlockSection::GetList(
array("LEFT_MARGIN" => "ASC"), //сортировка
$arFilter, //фильтр (выше объявили)
false, //выводить количество элементов - нет
$arSelect //выборка вывода, нам нужно только название, описание, картинка
);
while ($arSect = $rsSect->GetNext()) {
//echo '<pre>'; print_r($arSect); '</pre>';
if ($arSect['DEPTH_LEVEL'] == 1) {
$newSection[$arSect['ID']] = $arSect;
$sectionLvlOne = $arSect['ID'];
}
if ($arSect['DEPTH_LEVEL'] == 2) {
$newSection[$sectionLvlOne]['SECOND_LVL'][$arSect['ID']] = $arSect;
$sectionLvlTwo = $arSect['ID'];
}
if ($arSect['DEPTH_LEVEL'] == 3) {
$newSection[$sectionLvlOne]['SECOND_LVL'][$sectionLvlTwo]['THIRD_LVL'][$arSect['ID']] = $arSect;
$sectionLvlThree = $arSect['ID'];
}
$arResult['NEW_SECTIONS'] = $newSection;
}
echo '<pre>'; print_r($arResult['NEW_SECTIONS']); '</pre>';
?>