Как вывести все элементы определенного раздела в битрикс 1с?

Доброе утро. Я только начинаю работать с битриксом 1с и у меня возникла проблема. М не нужно вывести 3 раздела и к каждому разделу добавить все его элементы:

Раздел 1

  • Элемент1 раздела 1
  • Элемент2 раздела 1
  • Элемент3 раздела 1

Раздел 2

  • Элемент1 раздела 2
  • Элемент2 раздела 2
  • Элемент3 раздела 2

Я написал следующий код:

<?  

if (CModule::IncludeModule("iblock")):
  
$infoblock = 3; 
$rs_Section = CIBlockSection::GetList(array('sort' => 'asc'), array('IBLOCK_ID' => $infoblock));

while ( $ar_Section = $rs_Section->Fetch() )
{
    $ar_Resu[$ar_Section['ID']] = array(  
        'ID' => $ar_Section['ID'],
        'NAME' => $ar_Section['NAME'], 
       
    ); 
   
   
}  

foreach( $ar_Resu as $arItem)
{
    $arFil = Array("IBLOCK_ID"=>$infoblock ,array('SECTION_ID'=>$arItem['ID']));
    $arRes = CIBlockElement::GetList(Array(), $arFil, false, Array());
    while ( $arr = $arRes->Fetch() )
        {
            $arrName=$arr["NAME"];

        }
    $ar_Resu[$arItem['ID']] = array( 
            $arrName,
        ); 
}

echo '<pre>'; print_r($ar_Resu); '</pre>';
endif;
?>
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?

Следующий код выводит только последний элемент по каждому разделу. Помогите, пожалуйста, решить эту задачу.


Ответы (1 шт):

Автор решения: u_mulder

Предлагаю модифицировать код так (лишнее пропущено):

while ( $ar_Section = $rs_Section->Fetch() )
{
    $ar_Resu[$ar_Section['ID']] = array(  
        'ID' => $ar_Section['ID'],
        'NAME' => $ar_Section['NAME'], 
        // Добавляем сюда пустой массив элементов
        'ITEMS' => [], 
    ); 
}  

//....

foreach($ar_Resu as $arItem) {
    $arFil = Array("IBLOCK_ID"=>$infoblock ,array('SECTION_ID'=>$arItem['ID']));
    $arRes = CIBlockElement::GetList(Array(), $arFil, false, Array());
    while ( $arr = $arRes->Fetch() ) {
        // Берем $arr["NAME"] и добавляем его в соответствующий 'ITEMS'-массив
        $ar_Resu[$arItem['ID']]['ITEMS'][] = $arr["NAME"];
    }
}
→ Ссылка