В разделе "Для администратора" был рассмотрен пример сборки простого сайта с одноуровневой системой навигации. Все ссылки того сайта находились в единственном меню (навигационном блоке). На практике же одним уровнем навигации не обойтись.
Система навигации на сайте должна помогать посетителю ответить на три главных вопроса навигации:
На приведенном рисунке изображен пример трехуровневого меню навигации.
Ответом на вопрос "Куда я могу пойти" является просто наличие на страничке ссылок на другие странички. Большинство примеров данного справочника, для простоты изложения, этим и ограничивались. Но этого мало - нужно еще отобразить отношения между ссылками.
Во-первых, одна из ссылок привела нас на эту страницу, и ее нужно отметить особо, а также инактивировать. И это будет ответом на вопрос: "Где я нахожусь?"
Кроме этого есть страницы, которые имеют отдаленное отношение к текущей странице - это, так называемые, предки страницы, ближайший из которых называется родителем. Выделив предков, мы ответим на вопрос: "Где я уже побывал" (см. Метод Router::hrefIsAncestor()).
Как отобразить навигационную цепочку, можно узнать в статье Метод Router::getBreadcrumbs().
А в следующей статье вы узнаете, какие правила нужно соблюдать при назначении навигационных блоков, чтобы после сборки сайта получилось именно то древо сайта, которое вы хотели получить.