Выбор навигации для сайта

Структура Друпала позволяет использовать разные варианты навигации. Этот обзор — краткое описание этих вариантов с рассмотрением за и против.

Рассмотрим следующие пять способов создания навигации на сайте:

Есть и шестой способ: смешанный, т.е. создание навигации сайта используя несколько из перечисленных выше способов, такой подход — самое обычное дело. Например сайт drupal.org использует комбинацию навигации из основных и дополнительных ссылок с модулем Book и использованием своего кода.

Выбор навигационной системы не ограничивает вас рамками этой системы. Друпал позволяет создавать много одновременно работающих способов навигации, которые могут быть выборочно доступны для разных пользователей. Если через какое-то время вы внесёте изменения на свой сайт, то вы сможете легко изменить навигацию по нему.

Роль тем в навигации

Друпал отделяет представление от содержания. Навигация обеспечивают работу с содержанием, в то время как представление определено в шаблоне темы. Например стили CSS для эффектов при наведении мышки на ссылку — определяются в шаблоне темы. JavaScript обычно относится к этой же категории, хотя в некоторых случаях нужно будет ввести соответствующие изменения через меню настроек используемого модуля. Такое разделение означает, что меню навигации выглядит по-разному в зависимости от темы.

Примечание

Когда модуль, как говорят — стандартный, это значит, что он включен в установочный пакет Друпала и его нужно только активировать. Дополнительный модуль тот, который нужно загружать и устанавливать отдельно.

Навигация с использованием основных и дополнительных ссылок

Основные и дополнительные ссылки — это возможность создать навигацию по сайту, которую Друпал делает доступной для разработчиков шаблонов. Эту навигацию можно настроить перейдя на страницу Управление → Строение сайта → Меню. Обычно эта навигация размещена вверху, чтобы иметь возможность создавать горизонтальное меню. В действительности она может быть помещена куда угодно, это зависит только от желания разработчика темы.

Метод вставки пунктов меню в эту навигацию различается среди шаблонов или версий Друпала. В некоторых случаях текстовая область предусматривает в шаблоне внесение HTML-кода. В других случаях поля используются для названия меню и ссылок. Некоторые шаблоны обеспечивают через CSS показ меню в виде вкладок, если вы будете использовать разметку ul/li чтобы создать структуру навигации.

При использовании такой навигации могут возникнуть проблемы с навигационной линейкой. Когда вы нажмёте на ссылку и перейдёте к нужной странице, путь ссылок в навигационной линейке очиститься и в ней появляется надпись Первая страница. Избежать этого позволяют несколько дополнительных модулей работающих с навигационной линейкой:

Подробная информация

За

  • Позволяет создать горизонтальную навигацию без правки кода шаблона.
  • В зависимости от шаблона разрешает вставку JavaScript.

Против

  • В зависимости от шаблона, возможно придётся вручную вставлять HTML-код.
  • Навигационные линейки в некоторых случаях не будут работать.

Навигация с использованием модуля Menu (Меню)

Модуль Menu (Меню) — основное средство для создания и управления меню в Друпале. Блоки меню можно сделать обязательными для всех страниц и ролей, задать их отображение только на определённых страницах или в зависимости от прав доступа. Вложенные меню можно делать развёрнутыми или свёрнутыми. Первоначально, меню создавалось только для ссылок на страницы сайта. В настоящее время можно создавать в меню ссылки и на станицы других сайтов.

Подробная информация

За

  • Простое редактирование на странице Управление → Строение сайта → Меню, не требует использования HTML-кода.
  • Можно определить на каких страницах и для кого показывать.

Против

  • Нельзя создать меню-закладки или разделители.
  • Навигационная линейка не всегда работает на уровне содержания.

Навигация с использованием модуля Book (Книга)

Модуль Book (Книга) — это стандартный модуль который создаёт действительно иерархическую организацию. Описание модуля приводится в контексте книги, но думайте о навигация сайта когда вы читаете это описание!

Когда страницы книги созданы, они размещаются иерархически и страницам автоматически добавляются ссылки, так же как другим навигационным элементам. Настройки размещения страницы объединены на экране создания документа, они упрощают создании цельной книги. Страницы книги — это тип документов, кроме того, в книгу могут быть включены документы любых типов.

Модуль Book (Книга) имеет определённое поведение. Новым страницам даются навигационные ссылки от исходной страницы и другие навигационные элементы, такие как ссылки предыдущая и следующая страница (эти ссылки отображаются в виде заголовков предыдущего и следующего документов).

Подробная информация

За

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

Против

  • Всё должно находиться в пределах иерархии книги или навигационные линейки прервутся.
  • Имеет определённые настройки которые непросто изменить.

Навигация с использованием таксономии

Модуль Taxonomy (Таксономия) не создаёт навигацию, он позволяет распределить по категориям документы таким образом, что на них можно будет ссылаться создав навигацию. Это стандартный модуль Друпала. В сочетании с другими модулями или PHP-кодом вы можете создать систему меню и автоматическим размещать страницы в меню просто создав на сайте систему таксономии.

Таксономия необходима для сайтов определённой архитектуры, но она избыточна для небольших сайтов.

Подробная информация

За

  • Очень удобен для сайтов с большим содержанием.
  • Упрощает управление содержанием для автоматического размещения страниц.

Против

  • Большая часть возможностей таксономии используется с другими дополнительными модулями, что добавляет сложности.
  • Избыточен для небольших сайтов или редко обновляемых.

Навигация с использованием своего кода

Если ни один из предыдущих вариантов навигации вас не устраивает, вы можете сделать своё собственное меню. Для некоторых типов меню с использованием JavaScript — это единственный путь. Также такая навигация потребуется если вы захотите сделать меню с пунктами, которые не являются ссылками на документы, разделителями или используют HTML-теги. Создание такой навигации предусматривает создание блока и вставку в него HTML-кода.

Вы можете расширить некоторые из других типов меню, используя PHP-сниппеты. Такой смешанный подход позволяет значительно улучшить функциональность других модулей Друпала.

Навигационные линейки не будут работать с таким типом меню если вы не будете использовать модули управляющие навигационными линейками.

Подробная информация

За

  • Непревзойдённая гибкость.
  • Использование PHP-сниппетов расширяет другие типы меню.

Против

  • Для изменения меню требуется вручную менять код.
  • Навигационные линейки не работают.
  • Сложные навигационные системы будут требовать сложного кодирования или много исполнителей.

Комментарии

Комментировать

CAPTCHA
Тест, который позволяет исключить автоматическую отправку сообщений. Эта мера направлена против спама.
Image CAPTCHA
Введите числа, которые показаны на картинке.