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

ShowNavChain

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

CMain::ShowNavChain(
	mixed path = false,
	int NumFrom = 0, 
	mixed NavChainPath = false
)

Отображает навигационную цепочку.

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

Если вам не нужно показывать навигационную цепочку на какой либо странице, вам достаточно вставить в теле страницы код, инициализирующий свойство страницы "NOT_SHOW_NAV_CHAIN" значением "Y":

$APPLICATION->SetPageProperty("NOT_SHOW_NAV_CHAIN", "Y");
Поддержка этого свойства встроена в данный метод.

Нестатический метод.

Параметры

ПараметрОписание
path Путь для которого будет построена навигационная цепочка. В случае многосайтовой версии, если DOCUMENT_ROOT у сайтов разный (задается в поле "Путь к корневой папке веб-сервера" в настройках сайта), то в данном параметре необходимо передавать массив вида:
array("ID сайта", "путь")
Необязателен. По умолчанию - "false" - текущий путь.
NumFrom Номер пункта начиная с которого будет построена навигационная цепочка. Пункты навигационной цепочки нумеруются с нуля.
Необязателен. По умолчанию - "0".
NavChainPath Путь к шаблону навигационной цепочки.
Необязателен. По умолчанию - "false", что предполагает поиск пути к шаблону навигационной цепочки по алгоритму представленному на странице Управление показом цепочки

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

<?
// выведем цепочку навигации для текущей страницы начиная 
// с первого пункта по шаблону "chain_template.php"
// лежащему либо в каталоге "/bitrix/templates/<текущий шаблон сайта>/", 
// либо в каталоге "/bitrix/templates/.default/".
$APPLICATION->ShowNavChain();
?>
<?
// выведем цепочку навигации для текущей страницы начиная 
// со 2-го пункта по шаблону chain_template_bottom.php
$APPLICATION->ShowNavChain(false, 2, "/bitrix/templates/.default/chain_template_bottom.php");
?>

Пример шаблона навигационной цепочки

<?
// файл /bitrix/templates/.default/chain_template.php

$sChainProlog = "";   // HTML выводимый перед навигационной цепочкой
$sChainBody = "";     // пункт навигационной цепочки
$sChainEpilog = "";   // HTML выводимый после навигационной цепочки

// разделитель
if ($ITEM_INDEX > 0)
	$sChainBody = "<font class=\"chain\">&nbsp;/&nbsp;</font>";

// если указана ссылка то
if (strlen($LINK)>0)
{
	// выводим ссылку
	$sChainBody .= "<a href=\"".$LINK."\" class=\"chain\">".htmlspecialchars($TITLE)."</a>";
}
else // иначе
{
	// текст
	$sChainBody .= "<font class=\"chain\">".htmlspecialchars($TITLE)."</font>";
}
?>


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

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

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

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

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
2
ByteEightLab
Если последний пункт нужно выделить отдельно, можно воспользоваться массивом $$arCHAIN
Код
if( strlen($LINK)>0 && $arChain[count($arCHAIN)-1]['LINK'] != $LINK ) 
    $sChainBody .= "<a href=\"".$LINK."\" class=\"chain\">".htmlspecialchars($TITLE)."</a>"; // если указана ссылка то выводим ссылку
else 
    $sChainBody .= "<font class=\"chain\">".htmlspecialchars($TITLE)."</font>"; // иначе текст, или последний пункт
 
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх