/** * Получаем все категории инфоблока (либо одну) * @param null $iSectionId * @return array */ public function getSectionsByIBlockId($iSectionId = null) { $arResult = array(); $arSort = array('SORT' => 'ASC', 'ID' => 'DESC'); $arFilter = array('IBLOCK_ID' => $this->arParams['IBLOCK_ID'], 'GLOBAL_ACTIVE' => 'Y', 'ACTIVE' => 'Y'); if (!empty($iSectionId)) { $arFilter['ID'] = (int) $iSectionId; } $arSelect = array('ID', 'CODE', 'IBLOCK_ID', 'SORT', 'NAME', 'PICTURE', 'DESCRIPTION', 'DETAIL_PICTURE', 'UF_*'); $db_list = CIBlockSection::GetList($arSort, $arFilter, true, $arSelect); while ($ar_result = $db_list->GetNext()) { $ar_result['PICTURE'] = CFIle::GetFileArray($ar_result['PICTURE']); $ar_result['DETAIL_PICTURE'] = CFIle::GetFileArray($ar_result['DETAIL_PICTURE']); $arResult[$ar_result['ID']] = $ar_result; } if (!empty($iSectionId)) { $arResult = array_shift($arResult); } //[$arResult['ID']]; return $arResult; }