Документация для разработчиков
Темная тема

GetNavChain

Описание и параметры

CIBlockResult CIBlockSection::GetNavChain(
	int IBLOCK_ID,
	int SECTION_ID,
	array arSelect = array(),
	$arrayResult = false
);
Метод возвращает путь по дереву от корня до раздела SECTION_ID (пользовательские поля не возвращаются). Метод статический.

Параметры вызова

ПараметрОписаниеС версии
IBLOCK_ID Код информационного блока, служит для проверки что раздел SECTION_ID, находится в заданном информационном блоке. Если значение IBLOCK_ID ноль, то проверка не будет выполнена и код информационного блока не будет учитываться.
SECTION_ID Код раздела информационного раздела, путь до которого будет выбран.
arSelect Массив возвращаемых полей раздела. Необязательный параметр. По умолчанию будут возвращены все доступные поля.12.5.0
arResult Необязательный параметр. По умолчанию - false. Если передать в него true - вернет массив элементов, описывающих позиции, а не CDBResult. Это производительнее.12.5.0

Возвращаемое значение

Возвращается объект CIBlockResult с полями раздела информационного блока.

Примеры использования

<?
$nav = CIBlockSection::GetNavChain(false, $SECTION_ID);
while($nav->ExtractFields("nav_")):
?> &raquo; 
	<?if($SECTION_ID == $nav_ID):?>
		<?echo $nav_NAME?>
	<?else:?>
		<a class="navchain" href="<?=$application->getcurpage()?>?iblock_id=<?=$iblock_id?>§ion_id=<?=$nav_id?>#tb"><?echo $nav_NAME?></a>
	<?endif?>
<?endwhile;?>

Показать полный массив данных:

$list = CIBlockSection::GetNavChain(false,$Section['ID'], array(), true);
foreach ($list as $arSectionPath){
	echo '<pre>';print_r($arSectionPath);echo '</pre>';
}

Смотрите также



Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
3
Алексей Попович
еще один пример:

Код
$nav = CIBlockSection::GetNavChain(false,$Section['ID']);
while($arSectionPath = $nav->GetNext()){
   if ($GLOBALS['USER']->IsAdmin()){ echo '<pre>';print_r($arSectionPath);echo '</pre>';} 
} 
покажет полный массив данных, а то разброс по переменным как-то не очень наглядный ...
2
Максим Месилов
По всей видимости можно пользоваться и функцией-обёрткой из \bitrix\modules\iblock\iblock.php строки 892 - 895

Код
function GetIBlockSectionPath($IBLOCK, $SECT_ID)
{
   return CIBlockSection::GetNavChain(IntVal($IBLOCK), IntVal($SECT_ID));
}
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх