Навигация

В разделе "Для администратора" был рассмотрен пример сборки простого сайта с одноуровневой системой навигации. Все ссылки того сайта находились в единственном меню (навигационном блоке). На практике же одним уровнем навигации не обойтись.

  1. Куда я могу пойти?
  2. Где я нахожусь?
  3. Где я уже побывал?

Система навигации на сайте должна помогать посетителю ответить на три главных вопроса навигации:

На приведенном рисунке изображен пример трехуровневого меню навигации.

Трехуровневая панель навигации в Blox CMS

Ответом на вопрос "Куда я могу пойти" является просто наличие на страничке ссылок на другие странички. Большинство примеров данного справочника, для простоты изложения, этим и ограничивались. Но этого мало - нужно еще отобразить отношения между ссылками.

Во-первых, одна из ссылок привела нас на эту страницу, и ее нужно отметить особо, а также инактивировать. И это будет ответом на вопрос: "Где я нахожусь?"

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

Как отобразить навигационную цепочку, можно узнать в статье Метод Router::getBreadcrumbs().

А в следующей статье вы узнаете, какие правила нужно соблюдать при назначении навигационных блоков, чтобы после сборки сайта получилось именно то древо сайта, которое вы хотели получить.