Таксономия в Drupal 7.

image

04.02.12
Comments 20

Что то давно я не освещал в своем блоге тему создания сайтов на Drupal 7. Сегодня решил поподробнее объяснить новичкам что такое таксономия в Drupal. Эта статья будет очень полезна тем, кто только начинает знакомиться с этой CMS, и поможет понять для чего же нужна таксономия и где ее применять. Возможно у таксономии есть масса применений, а пока мы создадим с помощью нее категории статей и меню сайта, думаю для того чтобы уяснить суть ее предназначения этого будет вполне достаточно.

Для начала давайте пройдем в панель управления сайтом и откроем настройки таксономии «Структура -> Таксономия». И так, видим что по умолчанию уже установлен один словарь таксономии называется он «Теги», после того как вы добавляете к статье теги, то они автоматически становятся терминами словаря «Теги».

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

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

таксономия в Drupal

По такому же принципу создайте еще несколько подкатегорий Романы, Фантастика, Приключения.

Для разнообразия давайте сделаем еще несколько родительских категорий с дочерними терминами, например «Видео игры», «Фильмы», «Программы». В итоге у меня получился такой список терминов

таксономия в Drupal

Кстати для того что бы определить родительский элемент не обязательно указывать его в (связях), можно просто перетаскивать термины за крестик.

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

Пройдите в настройки тип материала (Структура -> Типы Материалов), давайте изменим тип материалов «Статья», нажмите на ссылку изменить, пройдите по верхней вкладке «Управление полями».

Настройте все так же как у меня и сохраните настройки.

  1. Метка: Категория
  2. Имя поля: category
  3. Тип данных для хранения: Ссылка на термин
  4. Определите элемент для редактирования данных: Выбор из списка

таксономия в Drupal

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

На следующем этапе произведем следующие настройки.

  1. Метка. Оставим этот пункт без изменения Категория.
  2. Чуть ниже находится пункт «Обязательное поле», если вы поставите флажок, то статью будет невозможно добавить если она не будет отнесена ни к одной категории сайта.
  3. Поле «Справочный текст» можно пропустить.
  4. Значение по умолчанию:  Здесь можно будет выбрать какое будет показано значение по умолчанию.
  5. Количество значений: Ну и со следующим полем думаю у вас тоже не возникнет проблем, устанавливайте то количество значений которое вам будет необходимо.
  6. Словарь: Выбираем конечно же словарь Категория. Сохраняем настройки.

Теперь давайте попробуем добавить статью. Как видите у нас появилось дополнительное поле, в котором мы можем добавить материал к какой либо категории.

таксономия в Drupal

Теперь нам нужно создать меню на сайте в котором мы укажем все наши категории, для этого пройдите в «Структура -> Меню», давайте поработаем с меню навигация, оно же вертикальное меню, нажмите на ссылку «добавить ссылку», но прежде чем это сделать нам нужно будет узнать адрес нужного термина таксономии, для этого нам опять нужно будет возвращаться к настройкам таксономии и смотреть какой же там адрес.

Как видите это очень неудобно, поэтому я предлагаю вам установить дополнительный модуль для работы с меню, называется он Taxonomy Menu, скачайте его с официального сайта Drupal.org, затем установите и включите его в панели управления модулями. После этого пройдите в «Структура -> Таксономия» и отредактируйте словарь Категория. Как видите в настройках появилось поле в котором можно указать в каком меню будут выводиться термины определенного словаря, давайте выберем меню Навигация сохраним настройки.

таксономия в Drupal

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

таксономия в Drupal

Tags: 

Комментарии

Gleb 20.03.12

Спасибо огромное за статью, очень доходчиво!!! Понял сразу, хотя до этого перелопатил много манов

Дмитрий 29.03.12

Здравствуйте.
Маленький момент... ;) под заголовком статьи строчка: "Опубликовано сб, 02/04/2012 - 20:48 пользователем admin", хотя сегодня ещё 29 марта 2012 года.

Stanislav 22.04.12

Наконец-то разобрался. И со словарем. И с отображением. Спасибо веб-мастер Серега.

Серегй 27.04.12

Спасибо большое!!!! Всё понятно!

GrooMan 07.05.12

Последовательно, понятно и рационально. Отдельно хочу сказать спасибо за прекрасно подобранные модули.

Вячеслав 11.05.12

Действительно очень доходчиво

Марина 17.07.12

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

Михаил 19.09.12

Спасибо Серега! Наконец-то во всем разобрался и все заработало:)

Den 14.11.12

Спасибо за статью!

Михаил 20.05.13

ничего не получилось.
не выводится список терминов из словаря

Дмитрий 21.08.13

Спасибо огромное, в 6ке сам делал, открыл семерку и долго тупил... переискал кучу материалов - здесь самое доходчивое

rockpro 03.01.14

Добрый день!
Сделал словарь таксономии "Разделы сайта", добавил термин "Новости", связал тип материала "Новости" с термином "Новости". Вопрос: Как настроить так, чтобы при добавлении материала новости автоматически в URL подставлялся раздел?
Например, сейчас придобавлении новости - её адрес site.ru/novost, а нужно site.ru/news/novost.
Вручную прописывать news/имя_новости при добавлении каждой новости как-то неправильно, должно же быть граммотное решение?

admin 05.01.14

Добрый день, почитайте статью на моем сайте http://sirega.ru/nastroyka-chpu-na-drupal-7.html , если что то будет не понятно обращайтесь.

Дамир 25.04.14

Спасибо, отличная статья!

Эрик 23.02.15

Спасибо огромное. Очень рад. Наконец то понял, а то целый месяц не мог понять, как работать с таксонами

Борис 22.04.15

Спасибо! То, что мне было нужно.

Роман 26.05.15

Из статьи также как из кучи других статей про таксономию непонятно как её (таксономию) можно практически использовать. То, что везде написано: "зайдём сюда", "щёлкнем здесь", "добавится там" и т.д - и так понятно. Об этом только и пишут в статьях из серии "Drupal для начинающих". Нет ответа на вопрос: зачем всё это нужно на практике? Зачем, например, автоматически создаются страницы с надписью "На данный момент нет содержимого, классифицированного этим термином" и что с ними можно сделать? Эта надпись присутствует всегда, чтобы там на этой странице не разместил.
В общем нет толкового объяснения по таксономии.

admin 17.06.15

Думаю все дело в вас, прочитайте комментарии выше, всем все понятно

Александр 27.10.15

Добрый день! Спасибо за статью.
Хочу задать вопрос.
Если мне надо, чтобы было всё наоборот: не словарь к типу материала привязать, а тип материала к таксономии. Допустим есть типы материалов "Книги", "Игры" и пр., также имеются одноименные термины таксономии, но самого поля связанного со словарем в типах материалов нет.
Возможен ли вариант, при котором после создания ноды определенного типа материала, например "Книги", она автоматически определялась в термине "Книги" таксономии?

Артур 23.03.16

Спасибо, помогли новичку!

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