Метод 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 class="breadcrumbs">
<?php
    if ($breadcrumbs = Router::getBreadcrumbs()) 
    {
        unset($breadcrumbs[0]); # Ссылку на главную страницу не используем
        $lastKey = count($breadcrumbs);
        foreach ($breadcrumbs as $k => $breadcrumb) 
        {
            if ($k == $lastKey) # Последний элемент является текущей страницей
                echo ' <span>'.$breadcrumb['name'].'</span>';
            else
                echo ' <a href="'.$breadcrumb['href'].'">'.$breadcrumb['name'].'</a>';
        }
    }
?>
</div>

См. также