Источник: http://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&LESSON_ID=3400 |
Цепочка навигации подключается в шаблоне дизайна сайта с помощью компонента Навигационная цепочка (bitrix:breadcrumb). Для него может быть создано любое количество шаблонов, т.е. внешних видов. Все они хранятся в папке компонента /bitrix/components/bitrix/breadcrumb/templates/<название шаблона>/
. Все созданные шаблоны будут отображаться в настройках компонента. Таким образом для каждого шаблона сайта может быть установлен свой шаблон оформления компонента цепочки навигации. Структура шаблона показа навигационной цепочки аналогична структуре шаблона показа меню.
Управление навигационной цепочкой и ее шаблоном оформления осуществляется также, как при работе с другими компонентами 2.0. В режиме правки сайта с помощью кнопки управления вы можете быстро перейти к форме изменения параметров компонента либо скопировать шаблон компонента, а затем отредактировать его.
Алгоритм построения цепочки навигации и формирования ее внешнего вида:
$sChainTemplate
, то ее значение будет использовано в качестве пути к шаблону навигационной цепочки. В процессе перебора разделов, каждое последующее значение этой переменной перетирает предыдущее, таким образом, чем "глубже" раздел в иерархии разделов сайта, тем "важнее" его переменная $sChainTemplate
. /bitrix/templates/ID текущего шаблона сайта/chain_template.php
/bitrix/templates/.default/chain_template.php
Шаблон навигационной цепочки при ее выводе будет подключаться каждый раз на очередном пункте цепочки. Поэтому основная его задача - обеспечить внешний вид только одного пункта цепочки.
Основными переменными используемыми в шаблоне являются:
$sChainProlog
- HTML код выводимый перед навигационной цепочкой $sChainBody
- HTML код определяющий внешний вид одного пункта навигационной цепочки $sChainEpilog
- HTML код выводимый после навигационной цепочки $strChain
- HTML код всей навигационной цепочки собранный к моменту подключения шаблона Вышепредставленные переменные будут хранить в себе HTML-код, который определит внешний вид навигационной цепочки.
Также в шаблоне будут доступны следующие дополнительные переменные:
$TITLE
- заголовок очередного пункта навигационной цепочки $LINK
- ссылка на очередном пункте навигационной цепочки $arCHAIN
- копия массива элементов навигационной цепочки $arCHAIN_LINK
- ссылка на массив элементов навигационной цепочки $ITEM_COUNT
- количество элементов массива навигационной цепочки $ITEM_INDEX
- порядковый номер очередного пункта навигационной цепочки Пример шаблона компонента навигационной цепочки:
<? if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die(); if(empty($arResult)) return ""; $strReturn = '<ul class="breadcrumb-navigation">'; for($index = 0, $itemSize = count($arResult); $index < $itemSize; $index++) { if($index > 0) $strReturn .= '<li><span> > </span></li>'; $title = htmlspecialcharsex($arResult[$index]["TITLE"]); if($arResult[$index]["LINK"] <> "") $strReturn .= '<li><a href="'.$arResult[$index]["LINK"].'" title="'.$title.'">'.$title.'</a></li>'; else $strReturn .= '<li>'.$title.'</li>'; } $strReturn .= '</ul>'; return $strReturn; ?>
При подключении навигационной цепочки с помощью функции ShowNavChain() ее шаблон может быть задан дополнительно для отдельного раздела сайта.
Для этого непосредственно в файле .section.php определяется переменная $sChainTemplate
, где задается полный путь к шаблону показа навигационной цепочки. Например:
$sChainTemplate = "/bitrix/templates/demo/chain_template.php"
Шаблон навигационной цепочки может быть также задан при вызове функции ShowNavChain() как один из параметров функции.
$APPLICATION->ShowNavChain("/bitrix/templates/.default/chain_template_bottom.php")