mail@vecdev.ru

Вывести название текущего раздела новостей

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

Получить ID раздела можно так:


<?$arResult['SECTION_ID'] = CIBlockFindTools::GetSectionID(
     $arResult['VARIABLES']['SECTION_ID'], $arResult['VARIABLES']['SECTION_CODE'],
     array('IBLOCK_ID' => $arParams['IBLOCK_ID'])
);?>

Теперь, когда переменная arResult['SECTION_ID'] содержит реальный ID нашего раздела мы можем обратиться через CIBlockSection::GetList к списку разделов и получить название текущего:


<?
//фильтру указываем ID раздела и ID его инфоблока
$arFilter = array("IBLOCK_ID"=>$arParams["IBLOCK_ID"], "ID" => $arResult["SECTION_ID"]);
//какие свойства хотим получить, в данном случае нам надо название, описание и пользовательское свойство раздела (создается в меню редактирования раздела в админке)
$arSelect =  array("NAME", "DESCRIPTION", "UF_PRE");
$rsResult = CIBlockSection::GetList(array("SORT"=>"ASC"), $arFilter, false, $arSelect);
while($ob = $rsResult->GetNext()) {
     $sectionName = $ob["NAME"]; // наше имя
     $sectionPre = $ob["UF_PRE"]; // пользовательсвое свойство
     $sectionDescr = $ob["DESCRIPTION"]; // описание
}?>

Таким образом мы получили 3 переменные с необходимыми нам значениями. Если есть вопросы, пишите в комментариях.

Частный разработчик сайтов Vector Dev
Комментарии