Таксономия и создание меню в Drupal

Таксономия в друпале вещь нужная и крайне полезная. Благодаря таксономии мы можем упорядочить контент, разбить его на категории. Таксономия является основой для создания меню. Чтобы было понятнее откуда что берётся и для чего всё это делается предлагаю не просто читать, а делать на своём тестовом сайте.

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

Первым создадим словарь для основного меню. Переходим в меню Structure → Taxonomy → Add vocabulary. Мы на странице создания словаря. Поле Name обязательно для заполнения. Рядом видим  Machine name: Edit. Если у вас имя словаря написано на кирилице обязательно нажмите edit и в появившемся поле Machine-readable name введите имя словаря на английском(допускаются буквы в нижнем регистре и цифры, пробелы замените нижним подчёркиванием). Description можно не заполнять.

добавление словаря таксономии

Следующий шаг заполнение словаря терминами. Переходим в меню Structure → Taxonomy → название словаря(в моём случае разделы сайта) → Add term.

добавление терминов словаря

Данный словарь я создавал для основного меню поэтому в поле Name вписываю название раздела.

Данные из поля Description будут выводиться на странице термина. Description можно не заполнять.

Ещё одно поле URL alias. В этом поле можем задать URL псевдоним, если этого не сделать, Drupal сам сгенерирует URL. Выглядеть он будет http://webonlife.ru/taxonomy/term/1. Несмотря на то что большинство пользователей не обращает внимание на URL менять их нужно. Как автоматически генерировать правильные url и для чего всё это читайте здесь.

Создадим ещё несколько терминов и перейдём к настройке меню. Переходим Stucture → menu. У нас уже есть четыре меню.

создание меню в Drupal

Нас интересует Main menu. Жмём add link. На странице добавления ссылок два поля обязательных для заполнения.

Menu link title - название ссылки в меню.

Path - url адрес, в нашем случае адрес термина. Для получения нужного нам адреса переходим на страницу с ранее созданным словарём и копируем ссылку термина.

копируем ссылку на термин таксономии

Description необязателен для заполнения. Введённый текст будет отображаться при наведении курсора на ссылку.

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

Выпадающий список Parent Link. Здесь нам предлагают выбрать меню или родительский пункт. Мы добавляем ссылку в Main menu.

Ещё один пункт weight. Чем меньше значение тем выше будет находиться создаваемый пункт меню.

создание пунктов меню

Повторим это для остальных терминов словаря и переходим на главную страницу. Должно получиться что-то похожее.Основное меню сайта

В создании меню нет ничего сложного, но есть пара нюансов.

  1. Наше меню располагается в верху горизонтально. Чтобы расположить его вертикально нужно создать новое меню. Затем пройти на страницу блоков и задать регион для размещения. Подробнее об этом читайте в статье Блоки Drupal 7
  2. Прежде чем создавать пункты меню настройте чистые ссылки. Как это сделать читайте здесь.

С основным меню закончили, теперь пора сделать теги - ссылки внизу поста. С этим дело обстоит ещё проще. Создаём ещё один словарь и... И всё. В этот словарь термины будут добавляться при создании/редактировании материала. Единственное что нам нужно - это указать к какому типу материала относятся наши словари. Изначально у нас два типа материала: статьи и страницы. При подключённом модуле блог появиться тип материала запись в блог. Мы можем создать свой тип материала, например галерея. Как совсем этим разобраться читайте в статье Типы контента в Drupal.

Добавлено пользователемSt.Cremeron вс, 10/04/2015 - 22:04

довольно бредовый метод. А если скажем элементов 100 или в некоторых проектах и того больше, что повторять это для каждого пункта меню? Не проще ручками написать код для вывода?

В этой статье описан стандартный метод добавления пунктов меню. Смею вас уверить - люди создавшие и постоянно улучшающие Drupal кое что понимают в сайтострении. То что есть в стандартной сборке решает вопрос большей части пользователей. Для всех остальных есть дополнительные модули. Для больших меню посмотрите Taxonomy meny

Добавлено пользователемazarnovskon вт, 12/22/2015 - 12:16

Собственно тема в названии. Не дружит taxonomy manager с taxonomy menu. В менеджере вбиваешь одно, в меню термины после этого не отображаются. какой из модулей более глючный?