Урок 6. Организация навигации по сайту. Создание меню и подшивок

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

Самое очевидное, что приходит в голову, это организовать доступ к материалам сайта с помощью меню. Пусть у нас будет меню со ссылками на блоги пользователей. На прошлом уроке мы забыли назначить синонимы для страниц блогеров. Адрес блога конкретного пользователя должен выглядеть так: developer.home/blog/имя_пользователя, где вместо имя_пользователя следует вписать логин блогера. Как вы помните, синоним можно добавить на странице Конструкция сайта ? Синонимы.

Создание меню

Добавить новое меню на сайт можно на странице Конструкция сайта ? Меню. Здесь следует нажать на кнопку Добавить меню и в открывшейся форме вписать уникальное "машинное" имя меню (на английском языке) и его название (можно на русском). Обычно название меню отображается при его размещении на сайте. Также по желанию можно добавить описание меню. Создадим меню под названием "Блоги" (машинное имя: mnu-blogs).

После сохранения меню открывается страница со списком его пунктов. На данный момент здесь ничего нет. Добавим два пункта — ссылки на блоги пользователей. Нажимаем кнопку Добавить пункт, в поле Адрес вписываем blog/имя_пользователя, в поле Название ссылки в меню — логин первого блогера. Вес влияет на последовательность ссылок в меню. Чем он меньше, тем ссылка выше. Если же у ссылок одинаковый вес, то они располагаются по алфавиту. Также добавьте в меню блог второго пользователя.

Несмотря на то, что меню было создано, на сайте оно так и не появилось. Когда создается меню, то автоматически вместе с ним создается блок для него. Именно размещение блока в определенной области сайта, открывает доступ к этому меню. Поэтому, чтобы все-таки меню появилось, нужно перейти на страницу Блоки. Здесь в разделе отключенных блоков вы должны увидеть только что созданный блок меню. Разместите его в правой колонке. Кнопку Создано на Drupal можно отключить. После сохранения изменений новое меню должно появиться. Перейдите по его ссылкам, чтобы удостовериться, что все было сделано правильно.

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

Подшивка

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

Поскольку у нас на сайте слишком мало материала, будем использовать подшивку не совсем по ее назначению, а лишь с целью знакомства с возможностями. Пусть через подшивку будут организованы месяцы: на каждой странице подшивки будут объединены блоговые записи, которые были сделаны в одном определенном месяце.

Подшивка — это определенный тип материала. Чтобы он был доступен, надо включить модуль Book. После этого при создании публикации вы сможете выбрать пункт Страница подшивки.

На странице управления в разделе Управление содержимым появился пункт Подшивки. Откройте настройки подшивки. В разделе Разрешенные в подшивке типы материалов установлен флажок на пункте Страница подшивки. Это значит, что в подшивку мы можем объединять другие подшивки и создавать целые деревья подшивок. Нам этого не надо. Поэтому устанавливаем флажок только на пункт Запись в блог. Также запись в блог пусть будет дочерней страницей по умолчанию. Сохраните настройки.

Теперь создайте пустое меню "Архив подшивок" (mnu-archive) и расположите в правой колонке сайта под меню "Блоги". Оно не появится, т.к. пока в нем отсутствуют пункты меню.

Далее следует создать материал подшивки (Создать публикацию ? Страница подшивки). В заголовок и название ссылки в меню впишем месяц, когда производились публикации на сайте. (Если публикации были добавлены в течение двух месяцев, то придется создать две подшивки.) Родительский пункт меню — Архив подшивок. Ниже в разделе Оглавление подшивки нужно выбрать Создать новую подшивку. В качестве адреса страницы пропишите, например, book/september. Появится пустая страница и справа отобразиться новое меню.

Как администраторы системы Drupal давайте откроем любую статью на редактирование. Там в разделе Оглавление подшивки выбираем только что созданную нами подшивку и сохраняем изменения. После чего на странице developer.home/book/september должен появиться пункт-ссылка на эту блоговую запись.

Если мы войдем в систему в роли блогера, то не сможем добавлять материалы к подшивке. Администратор сайта должен отредактировать разрешения ролей и позволить блогерам добавлять материалы к подшивке. Сделайте это. После этого зайдите на сайт под разными пользователями и отредактируйте материалы, добавив их в подшивку. В результате в подшивке месяца (если он один) у вас должно быть пять ссылок на статьи.

В конце добавьте от каждого пользователя еще по одной записи в блог (например, "Типы файлов в Linux" (6) и "Тестирование и отладка программ" (7)). При этом добавляйте записи со страницы подшивки, кликнув по ссылке Добавить дочернюю страницу. В этом случае в разделе Оглавление подшивки страницы редактирования материала сразу будет установлена подшивка текущего месяца.

Отметим недостатки такого способа организации материалов для нашего сайта (надо понимать, что в иных случаях подшивка может быть наилучшим выбором). Чтобы пользователи могли добавлять свои записи к подшивке, она заранее должна быть создана администратором сайта. Но и при этом блогер может забыть добавить статью к подшивке. Обычно сайты существуют длительное время (больше года). Даже если каждую подшивку называть более конкретно (например, "Сентябрь 2011", "Октябрь 2011"), их количество будет сильно увеличиваться. Конечно, можно организовать месяцы в подшивку года, создав тем самым иерархическую структуру. Однако при этом пришлось бы решать еще ряд проблем.

Создано