то ждем ваше обращение в нашей службе тех поддержки.
Управление шаблоном навигационной цепочки
Цепочка навигации подключается в шаблоне дизайна сайта с помощью компонента Навигационная цепочка (bitrix:breadcrumb). Для него может быть создано любое количество шаблонов, т.е. внешних видов. Все они хранятся в папке компонента /bitrix/components/bitrix/breadcrumb/templates/<название шаблона>/
. Все созданные шаблоны будут отображаться в настройках компонента. Таким образом для каждого шаблона сайта может быть установлен свой шаблон оформления компонента цепочки навигации. Структура шаблона показа навигационной цепочки аналогична структуре шаблона показа меню.
Управление навигационной цепочкой и ее шаблоном оформления осуществляется также, как при работе с другими компонентами 2.0. В режиме правки сайта с помощью кнопки управления вы можете быстро перейти к форме изменения параметров компонента либо скопировать шаблон компонента, а затем отредактировать его.
Алгоритм построения цепочки навигации и формирования ее внешнего вида:
- Сбор пунктов навигационной цепочки ведется начиная от корня сайта и заканчивая текущим разделом. Для каждого очередного раздела подключается файл .section.php. Если в данном файле будет инициализирована переменная
$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")
Назад в раздел