
ViJu
Drupal 6. Меню ориентированный сайт
Создавая сайт на друпал, можно использовать несколько механизмов
формирования главной структуры сайта. Основное - это таксономия и меню.
Однако для многих небольших сайтов таксономия может быть вообще не нужна.
Рассмотрим такой вариант и будет строить структуру сайта только на основе системы Меню.
Используем основное меню Primary links для главной структуры.
Можно добавлять и использовать другие меню, в том числе Secondary links как самостоятельное меню
или, например, создать новое меню для архива.
BREADCRUMBs
Настройка верхней навигационной линейки для нодов.
Для того чтобы в breadcrumb правильно формировался путь к странице в соответствии с принадлежностью текущего нода меню используется модуль Menu breadcrumb.
Без этого модуля, по умолчанию путь к странице в breadcrumb формируется по меню Navigation.
После установки модуля в его настройках
(Administer -> Site configuration -> Menu breadcrumb (admin/settings/menu_breadcrumb))
нужно включить галочку Use menu the page belongs to for the breadcrumb
По желанию (настраивается там же в настройках) можно в breadcrumb
показывать заголовок текущего нода, со ссылкой или без.
СОДЕРЖАНИЕ РАЗДЕЛА
Разделы и подразделы в структуре сайта в данном случае определяются положением нода в меню,
т.е. все меню верхнего уровня являются названиями разделов.
Для вывода на странице соответствующих подразделов и(или) заголовков разделов того же уровня
используется модуль Submenutree
Например на странице Разработка нужно показать список дочерних нодов,
а в отдельном блоке на той же странице меню соответствующего разделов того же уровня.
Какое меню, где и как оно будет показываться (в содержании или в блоке) настраивается для каждого нода в отдельности на его странице редактирования.
Если только положение меню указывается в блоке, то само собой нужно не забыть включить этот блок
(отдельно блок подразделы или блок разделов того же уровня).на странице администрирования блоков.
В чем прелесть этого модуля -
подразделы и разделы этого же уровня могут показываться в виде
- меню
- списка заголовков
- списка teasers
- списка нодов целиком
При этом раздел может как содержать собственный текст, так и иметь просто заголовок.
В нашем примере - создаем нод с заголовком Разработка,
и включаем Submenu в виде меню в содержании
и на странице Разработка теперь видим список подразделов.
Если включен модуль DHTML menu, то он будет работать и для наших подразделов (submenu),
если выбран вариант отображения в виде Меню.
СОДЕРЖАНИЕ РАЗДЕЛА - VIEWS
Модуль Menu node views.
Раз в качестве структуры используется меню, то скорее всего для формирования сложных списков
понадобится определять принадлежность нода определенному меню во views.
Для этого и используется модуль menu_node_views,
который добавляет соответствующие фильтры, поля и т.п. для views.
СТРАНИЦА КАРТА САЙТА
Модуль Menutree.
Так как с помощью модуля Submenutree невозможно показать сразу несколько меню
на странице и с самого верхнего уровня, то для страницы с картой сайта,
на которой нужно показать несколько меню используется модуль Menutree.
Управление меню
Как ни странно, но будет очень полезен модуль
hierarchical_select, который в частности включает модуль
Hierarchical Select Menu.
Полезен он в том случае, если меню состоит из большого количества пунктов и подпунктов,
хотя если структура сайта основана на меню, то скорее всего так и будет.
Так как при редактировании страницы стандартная форма выбора меню - простой селект,
и при сложном меню становится очень проблематично найти нужный родительский пункт.
Как выглядит выбор меню на странице редактирования нода:
ПРОБЛЕМЫ
В Друпале нет модулей или действий для групповых операций с меню,
поэтому для большого количества данных использовать лучше или таксономию,
или, например, node reference cck field.





Важное обновление (добавление):
Очень удобный модуль для показа меню в блоке -
http://drupal.org/project/menu_block.
Оказался практически незаменим для простых сайтов-визиток.
Небольшой, но также полезный модуль - http://drupal.org/project/menu_firstchild -
для создания пункта меню, который ссылается на первый дочерний пункт этого меню.
Отправить новый комментарий