линия

Главная

понедельник, 2 октября 2017 г.

Bitrix news.list - Вывод разделов и элементов

Нет нет да попадется задача где надо вывести содержимое инфоблоков отсортированный по разделам. Задача на первый взгляд обычная. Но, если не иметь под рукой шпаргалку вместо того чтобы потратить 5 мин тратишь 10. А это тебе надо? Разумеется нет.

Итак, добавляем компонент bitrix.news.list
Копируем в свой шаблон, создаем файл result_modifier.php

Добавляем такой код.
// получаем разделы
$dbResSect = CIBlockSection::GetList(
   Array("SORT"=>"ASC"),
   Array("IBLOCK_ID"=>$arParams['IBLOCK_ID'])
);
//Получаем разделы и собираем в массив
while($sectRes = $dbResSect->GetNext())
{
 $arSections[] = $sectRes;
}
//Собираем  массив из Разделов и элементов
foreach($arSections as $arSection){   
 foreach($arResult["ITEMS"] as $key=>$arItem){  
   if($arItem['IBLOCK_SECTION_ID'] == $arSection['ID']){
   $arSection['ELEMENTS'][] =  $arItem;
   }
 } 
 $arElementGroups[] = $arSection; 
}
$arResult["ITEMS"] = $arElementGroups;


Далее в шаблоне выводим.

    
$arItem):?>


Все.


Комментариев нет:

Отправить комментарий