 
Метод Router::getBreadcrumbs()
Массив цепочки ссылок, приводящих на текущую страницу получается так:
$breadcrumbs = getBreadcrumbs();
Пример структуры одного элемента массива $breadcrumbs:
[name] => Дрели
[title] => Купить дрели
[alias] => dreli
[phref] => ?page=10&block=139&p[10]=002597
[href] => katalog/instrument/dreli/
Если ЧПУ не включено, элемент href будет совпадать с элементом phref (относительной параметрической ссылкой).
Для получения цепочки ссылок, приводящих на произвольную страницу, применяйте аргумент — относительную параметрическую ссылку нужной страницы:
$breadcrumbs = getBreadcrumbs('?page=2');
Навигационная цепочка
Если сайт имеет третий, четвёртый и более глубокий уровень по иерархии страниц, то на каждой такой странице желательно отображать навигационную цепочку, или, так называемые, хлебные крошки (breadcrumb trail). Навигационная цепочка — это путь по сайту от главной страницы до текущей, другим словами - это цепочка предков.
Например, страница Экскаваторы могла бы иметь следующую навигационную цепочку: "Главная страница > Продукция > Экскаваторы".
Для построения навигационной цепочки используется метод Router::getBreadcrumbs().
Навигационная цепочка (.tpl)
<div id="chain">
<?php
if ($breadcrumbs = Router::getBreadcrumbs())
{
# Убрать ссылку на главную страницу
unset($breadcrumbs[0]);
# Сделаем ссылку на главную страницу в виде картинки
if ($page != 1) # На главной странице не показывать
echo'<a href="/"><img src="templates/images/chainHome.png"></a>';
foreach ($breadcrumbs as $breadcrumb)
{
if ($breadcrumb['href'])
echo ' <a href="'.$breadcrumb['href'].'">'.$breadcrumb['name'].'</a>';
else
echo ' <span>'.$breadcrumb['name'].'</span>';
}
}
?>
</div>
См. также
|