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

  • 1977
   
Разделы

Я не претендую на право называться автором всей размещенной здесь информации, так как некоторые моменты были заимствованы в доступных источниках и немного переработаны для удобства пользования.


По возможности указываю ссылки на источники.


Копируйте, комментируйте, переделывайте, пользуйтесь. Кому не жалко, оставляйте ссылку на источник.

Частный вебмастер по разработке сайтов на 1С Битрикс и WordPress

Для того, чтобы где-то на сайте вывести список разделов инфоблока, нет необходимости применять компоненты, тем более комплексные. Достаточно использовать CIBlockSection::GetList с нужными параметрами.

Общий вид конструкции вывода разделов инфоблока выглядит следующим образом:

<?php
// подключение модуля ИБ (если не подключен)
CModule::IncludeModule("iblock");

// вывод разделов инфоблока по ИД
$arFilter = array('IBLOCK_ID' => 3, "ACTIVE" => "Y"); // фильтр разделов
$arSelect = array("ID", "NAME", "PICTURE"); // выбор свойств раздела
$arSort = array('SORT' => 'ASC'); // сортировка разделов
$arNavStart = array("nPageSize" => 5); // количество выводимых разделов
$rsSections = CIBlockSection::GetList($arSort, $arFilter, false, $arSelect, $arNavStart);
while ($arSection = $rsSections->GetNextElement()) {
$arFields = $arSection->GetFields(); ?>
<pre>
<?print_r($arFields);?>
</pre>
<? } ?>

Из всех передаваемых в CIBlockSection::GetList параметров, обязательным является IBLOCK_ID, все остальное можно в виде пустого массива array().

Разберем параметры:

  • $arFilter — фильтрует вывод разделов. В примере выше, конструкция выведет все активные разделы из инфоблока, в том числе и подразделы. Чтобы вывести подразделы раздела. Передаем дополнительно ID раздела.
    $arFilter = array('IBLOCK_ID' => 3, "ACTIVE" => "Y", 'SECTION_ID' => 1);
  • $arSelect — выбираем только нужные нам свойства, дабы снизить нагрузку на сайт. Если передадите массив этот, пустым, то увидите из каких свойств можно выбрать. Кроме того, можно выбрать дополнительные пользовательские поля.
    $arSelect = array("ID", "NAME", "PICTURE", "UF_DOP");
  • $arSort – сортировка выводимых разделов. Передаете свойство, по которому производится сортировка. asc - по возрастанию, desc - по убыванию.
  • $arNavStart – ограничивает количество выводимых разделов

Для вывода отдельного раздела инфоблока, применяем CIBlockSection::GetByID

<?
// подключение модуля ИБ (если не подключен)
CModule::IncludeModule("iblock");

// вывод информации из определенного раздела
$res = CIBlockSection::GetByID(1);
if($ar_res = $res->GetNext()){ ?>
<pre>
<?print_r($ar_res);?>
</pre>
<? } ?>

Подробные описания и примеры применения CIBlockSection::GetList, CIBlockSection::GetByID

Комментарии

Комментарий отправлены на валидацию!