Выборка разделов инфоблока

Декабрь 1, 2017

Теги: Инфоблоки, ORM

Выборка разделов инфоблока средствами класса "\Bitrix\Iblock\SectionTable".

Простой вариант без выборки значений пользовательских свойств, выборка корневых разделов инфоблока с идентификатором в переменной $IBLOCK_ID:


\Bitrix\Main\Loader::includeModule('iblock');


$rsSection = \Bitrix\Iblock\SectionTable::getList(array(
    
'filter' => array(
        
'IBLOCK_ID' => $IBLOCK_ID,
        
'DEPTH_LEVEL' => 1,
    ), 
    
'select' =>  array('ID','CODE','NAME'),
));

while (
$arSection=$rsSection->fetch()) 
{
    
print_r($arSection);
}

Выборка подразделов раздела с идентификатором в переменной $SECTION_ID, инфоблока c $IBLOCK_ID, включая значение пользовательского свойства "UF_TEXT", учитывая активность родительских разделов:


$entity = \Bitrix\Iblock\Model\Section::compileEntityByIblock($IBLOCK_ID);


$rsSection $entity::getList(array(
    
"filter" => array(
        
"IBLOCK_ID" => $IBLOCK_ID
        
"SECTION_ID" => $SECTION_ID,
        
"ACTIVE" => "Y",
        
"GLOBAL_ACTIVE" => "Y"
    
),
    
"select" => array("UF_TEXT"),
));

while(
$arSection=$rsSection->Fetch())
{
    
print_r($arSection);
}

Получение массива полей раздела с идентификатором в переменной $SECTION_ID одной строкой с использованием shorthand-функции getById:


$arSection = \Bitrix\Iblock\SectionTable::getById($SECTION_ID)->fetch();

← Переход к списку