Цитата |
---|
Андрей Марсаков написал: Здравствуйте! Возникла проблема с формированием запроса на ядре D7. У меня имеется массив который содержит ид некоторых разделов разделов инфоблока. Необходимо получить список этих разделов и их подразделов, если такие имеются. Код: \Bitrix\Main\Loader::includeModule('iblock'); $rsSection = \Bitrix\Iblock\SectionTable::getList(array( 'filter' => array( 'GLOBAL_ACTIVE' => 'Y', 'IBLOCK_ID' => $iblock, '=ID' => $this->config_arr["sections"], ), )); while($arSection=$rsSection->Fetch()) { var_dump($arSection); echo"=============================================="; } Он возвращает только разделы из массива, не затрагивая их подразделы. Если не указывать строку '=ID' => $this->config_arr["sections"], то возвращаются все разделы и подразделы иб, а мне нужно только по моим ид. Также нужно получить ELEMENT_CNT каждого раздела. Спасибо за любую помощь! |
Код |
---|
$iblockId = 5; $sectionId = 56; $section = \Bitrix\Iblock\SectionTable::GetByID($sectionId)->Fetch(); $rsSection = \Bitrix\Iblock\SectionTable::getList(array( 'order' => array('LEFT_MARGIN'=>'ASC'), 'filter' => array( 'IBLOCK_ID' => $iblockId, 'ACTIVE' => 'Y', '>LEFT_MARGIN' => $section['LEFT_MARGIN'], '<RIGHT_MARGIN' => $section['RIGHT_MARGIN'], '>=DEPTH_LEVEL' => $section['DEPTH_LEVEL'], ), 'select' => array( 'ID', 'NAME', 'DEPTH_LEVEL', ), )); while ($arSection = $rsSection->fetch()) { print_r($arSection); } |