Работа с таксономией и типами материалов Drupal

Главная » Drupal » Работа с таксономией и типами материалов Drupal
Самолетная 614022 Россия, Пермь +79630195620
Drupal
CMS, архив, новичкам
10181

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

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

Что такое таксономия? Если взглянуть в википедию, то там найдете точное определение этого понятия. Такосномия — учение о принципах и практике классификации и систематизации. Именно это принципы заложены в основу Drupal. Многие, кто знакомятся со структурой Drupal, не понимают ее, в результате весьма усложняют свою жизнь. Самый простой пример, который показывает принципы таксономии – это Тегетирование контента. Т.е. вы можете пометить часть страниц тегом – «новинка» и в последствии найти все материалы относящиеся к данному термину.

В Drupal таксономия состоит из двух элементов – это словари и термины. Чтобы  стало более понятно, словарь можно представить в виде спичечного коробка, а термины в виде спичек хранящихся в нем. Например можно создать словарь – велосипеды, в котором в качестве терминов могут выступать: горные велосипеды, гоночные велосипеды, детские велосипеды и т.д. Если сейчас вам сложно понять, то думаю, после практического урока вы разберетесь.

В качестве рабочего примера я представляю один раздел моего будущего женского сайта.

Работа с таксономией в Drupal

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

Для этого заходим по ссылке – Структура, что в верхней панели инструментов.

Работа с таксономией в Drupal

После чего находим пункт – Типы материалов, и заходим в них.

Работа с таксономией в Drupal

После этого, вы увидите уже существующие типы материалов.

Работа с таксономией в Drupal

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

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

Работа с таксономией в Drupal

 

После чего у вас появится соответствующее поле, где можете указать его.

Блок с описанием можно не заполнять, это своего рода подсказка для ваших будущих авторов. Эта надпись будет видна при создании материала.

Работа с таксономией в Drupal

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

Работа с таксономией в Drupal

На данный момент нас интересует вкладка – настройка публикации. В Настройках по умолчанию необходимо снять галочку с чекбокса «помещать на главную».

Работа с таксономией в Drupal

 

Вкладка установка комментариев, отвечает за их отображение под статьями.  Можете установить, разрешено комментировать или запрещено. Какое количество комментариев отображать. Установить предпросмотр комментария перед управлением. Так как в моих планах комментарии должны работать через виджет контакта, то возможность оставлять их, я убираю.

Работа с таксономией в Drupal

Вкладку настройки меню не трогаю вообще, пока рано.

Так как у меня установлен модуль Page Title, то в настройках есть вкладка – настройки заголовков страницы. Рекомендую поставить данный модуль тоже. А в настройках типа материала установить галочку – показать поля.

Работа с таксономией в Drupal

Благодаря этому во время создания новой статьи, вы можете задать, что отображать в качестве Title – для поисковиков.  Можно сказать некий аналог WordPress модуля All in Seo Pack. Все, жмем кнопку сохранить.

Разбираемся с таксономией.

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

Работа с таксономией в Drupal

На данный момент у меня имеются 2 словаря – это Форумы и теги (Tags). Создадим новый словарь и назовем его опять  - Магия и мистика. Это мы делаем своего рода контейнер, в который будем складывать свои спички – в виде меток для подразделов.

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

Работа с таксономией в Drupal

Работа с таксономией в Drupal

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

Работа с таксономией в Drupal

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

Работа с таксономией в Drupal

Про настройку адресов вы узнаете в следующих уроках. К этому пункту мы еще вернемся. В результате у меня получается вот такая картина.

Работа с таксономией в Drupal

 

Знакомимся с полями типа материалов.

Опять заходим в вкладку структура и переходим вновь в типы материалов. Напротив созданного нами материала – магия и мистика, есть ссылка управление полями, на нее и нажимаем.

Работа с таксономией в Drupal

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

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

Работа с таксономией в Drupal

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

Работа с таксономией в Drupal

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

Работа с таксономией в Drupal

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

Работа с таксономией в Drupal

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

Работа с таксономией в Drupal

 

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

Работа с таксономией в Drupal

Работа с таксономией в Drupal

 

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

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

Ну как вам Drupal? Где-нибудь встречали подобное? Согласитесь ничего сложного нету, нужно просто немного терпения.

Подписка на блог MASALKIN.NAME
Не упусти шанс получить отличные бонусы!

100% конфидециальность, адреса электронной почты не разглашаются и не предоставляются третьим лицам для коммерческого или некоммерческого использования.

Благодарность читателям

Спасибо что прочли эту статью до конца, надеюсь та информация что была изучена вами, оказалась для вас полезной. Если в ходе изучения возникли вопросы, то смело задавайте их в комментариях, я обязательно на них отвечу!

P.S. Не забудь подписаться на блог, тебя ждет много интересного и полезного!

Удачи!

  • Приветствую, Андрей!

    Своё знакомство с Drupal я начал после непродолжительного общения с Joomla. Учился работать с друпалом по видеоурокам Андрея Галямова ещё в 2012 году, и гибкая таксономия выделяет в лучшую сторону эту CMS по сравнению с остальными. Насколько я помню много сайтов известных компаний созданы как раз на друпале.

    Я перешёл на вордпресс в последствии так как именно для формата блога этот движок больше заточён.

    • Масалкин Андрей

      Привет Юрий, все правильно, как можешь сидеть этот блог тоже на WordPress, хотя честно сказать я не фанат этого движка. Просто для формата блога он отлично подходит. Для всего остального я использую Drupal.

      Когда я начинал изучать Drupal он появился только в 6 версии. Не за горами уже 8 но она уже кардинально меняется. Вот и не знаю что делать, толи изучать 8 Drupal Либо уже забить на это дело и в плотную заняться Ruby on Rails.

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

      Но в остальном Drupal хорош, если нужен сайт со сложной структурой, или с какими-то не очень сложными функциональными особенностями то он идеален.

  • Евгений Антипов

    За материал спасибо.

    Скинули проект на доработку, приходится изучать друпал.

    Совершенно деревянная система для кодера. Слишком запутанная, медленная и немасштабируемая.

    Удобна лишь тем, что можно вывести довольно приличный функционал не написав ни строчки кода.

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

    • Масалкин Андрей

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

      WP тоже та еще хрень. Иногда некоторые вещи делаются через костыли. Да и на счет кода тоже далеко не идеал.

      А вот то что программер за фреймворк возьмется — это да. Сам устал от этих CMS всегда не хватает какого-то функционала, который требуется дописывать. Проще сделать с 0 свой проект.

      Сам сейчас начал изучать Ruby

      • Евгений Антипов

        Ну про костыли на WP это заслуга в первую очередь говнокодеров, которым лень в референс заглянуть. Вообще не могу эту CMS похвалить особо, но и поругать в целом не за что. Разве что за отсутствие MVC. Между прочим много толковых хайлоадов на WP построено.

        По поводу Ruby... это все равно что переходить с PHP на Perl (есть большой опыт работы с Catalyst). Шило на мыло, имхо.

        Рекомендую попробовать Python/Django или JS/Derby.

        • Масалкин Андрей

          Долго выбирал между Питоном и Руби, выбор упал на последнего. Как-то больше мне приглянулся. С JS очень плохо дружу, надо подтягивать эту составляющую. Но пока что очень сильный интерес проявился к Ruby. Впервые чувствую такую тягу к языку:)

  • Виктор

    Извиняюсь за нубский вопрос: а выражаясь языком ООП РНР — нода это класс, на базе которого создаются объекты?

    • Масалкин Андрей

      В Drupal 7 нет OOP, оно приходит в Drupal 8. Нона это сущность в Drupal.

  • Андрей

    Добрый день! У меня есть в Таксономии раздел Каталог. В нем 3 десятка разделов и подразделов. Внимание вопрос: а как снять с публикации какой-то из них? Не удалить, а именно снять с публикации!

    Заранее спасибо!

    • Масалкин Андрей

      Такой вопрос, нужно чтобы не отображалось только в меню? Или вообще на сайте? Что с теми материалами, которые в этих таксономиях? Просто что в вашем понимании снять с публикации? Если убрать из меню то это не проблема.

      • Андрей

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

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

        • Масалкин Андрей

          На сайте она у вас как выводится? Может через модуль Views?

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

          Отключать бы в любом случае не стал. Зачем терять полезные страницы, которые могут привести клиентов на сайт?

          С точки зрения SEO это глупо.

          Интернет магазины если товара нет, они же его не отключают, зачем? Если клиент зашел, может купит что-то другое.

          • Андрей

            «Просто так их отключить не получится» — забавно ) Очень гибкая cms )))

            Закрыть какие-то разделы может понадобиться по любым причинам. В том числе и специально спрятать.

            Жаль.

            Спасибо огромное за Ваши ответы!

          • Масалкин Андрей

            Так я говорю, поставьте доп модуль. И ограничите по роям показ терминов. Анонимам не показывать, а админ будет видеть.

  • Виктор

    Фух! Труба, блин...

    Это опять я, и тут такое дело. Нужно создать тип материала, в котором будет чередоваться текст и произвольное количество картинок. Фишка здесь в том, что при клике на картинку она должна расплываться из миниатюры во весь экран (pop-up). Если я пихаю картинки внутрь поля Body, то не могу никак понять, как им задать настройки Colorbox'а.

    Можно, конечно, сделать и по другому: добавить поля «Длинный текст»-"Изображение", «Длинный текст»-"Изображение" и так по кругу, пока нужно. А потом в каждой картинке поменять формат на Colorbox и настроить его. Вроде бы логично, но только что делать, если этих картинок будет штук 75? Да у меня и уши отклеятся от таких запилов. Как же все-таки объединить картинки в поле Body и настройки Colorbox? И вообще такое возможно?

    • Масалкин Андрей

      Привет, картинки через IMCE в текст добавляешь?

      В общем, тебе нужно зайти в Конфигурация > Форматы текста

      Там выбираешь тот формат в котором обычно делаешь посты, у меня это Full_Html

      Выбираешь его, и отматываешь страницу в самый низ.

      Если у тебя включен модуль Colorbox, то там должна появиться группа «Параметры фильтров»

      В ней есть фильтр изменения размеров изображения.

      Открываешь его, выставляешь нужные галочки и добавляешь класс изображениям colorbox ну или rel в зависимости от настроек модуля. Можешь и туда и туда прописать. И все, картинки должны будут открываться во всплывающем окне.

      • Виктор

        И IMCE, и Imagepicker есть. Вот только в параметрах фильтров вообще нет полей, хотя Колорбокс включен. А я тут заметил в настройках Imagepicker'а «Утановка вставки imagepicker по умолчанию» — Ссылка — и радиобатон «Colorbox». Это не он? Сейчас настройка — «Нет». Я спрашиваю потому, что после «Метода научного тыка» Друпал начинает жить своей жизнью, и не всегда той, о которой я задумывал.

        • Масалкин Андрей

          С imagepicker не знаком:) не ставил, у меня обычно вставка картинок через IMCE и вывод их через Colorbox.

          Вот так у меня выглядят настройки _http://joxi.ru/l2ZVleZh88XX12

          • Виктор

            Imagepicker я сейчас отключу и посмотрю, не появится ли Колорбокс «Параметрх фильтров», а завтра продолжу досаждать Вам своими глупыми вопросами. ;)

          • Виктор

            Imagepicker отключил, но Сolorbox в «Параметрах фильтров» так и не появился. Потом Imagepicker снова включил и поставил значение Ссылка-Colorbox. В свойствах изображения появился идентификатор, но картинка так и осталась статичной. Блин, вот как застряну где-нибудь — танком не вытащишь. Почему в форматах текста нигде нет упоминаний о Сolorbox'е? Может это Друпал нужно как-то настроить?

  • Инкогнито

    Спасибо за ваш блог, очень полезно начинающим. Я недавно создала блог на основе Друпала. В принципе, контента там пока не очень много и это, можно сказать, мой пробный «блин». У меня вопрос — в редакторе CKeditor у меня почему-то нет Заголовка h1, начинаются заголовки с h2. все есть кроме этого... Не могу понять как сделать так, чтобы у каждой статьи был этот заголовок h1. Я так понимаю, отсутствие этого заголовка очень плохо для seo. Менюшку создаю с помощью таксономии.

    • Масалкин Андрей

      Добрый день, рад что мой блог смог вам помочь. Что касается заголовка h1 обычно в нем отображается название статьи. Но у каждой темы сверстано все по разному. Скорее всего вам необходимо отрыть в редакторе файл node.tpl вашей темы, и изменить там теги h2 на h1. Признаюсь честно, никогда не обращал внимание, есть ли в визуальном редакторе заголовок первого уровня. Так как название статьи у меня и было заголовком.

      Хотел у вас спросить, почему блог решили делать на Drupal? На wordpress блог значительно удобнее обслуживать.

  • Максим

    Черкану пару строк от себя. Joomla нравится своим порядком, в ней всё чётко- категории, статьи в категориях. Есть возможность организовать нормальную структуру хранения файлов к статьям. В WordPress с этим беда. Там картинки хранятся как-то по своему усмотрению. Но этот движок мне нравится наличием качественных тем и лёгкостью их установки. Сейчас начал изучать Drupal. Если честно не понимаю тех, кто пишет, что Joomla слишком сложна, а WordPress типа прост. Ребятки, вы Drupal попробуйте! :D В общем борюсь с собой и пытаюсь изучать этот двиг. Постоянно посещают мысли типа «нафиг тебе эти сложности Макс, ведь есть Joomla?!»

    • Масалкин Андрей

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

      На счет сложности движка на первое место поставил бы Друпал, потом Джомлу, а потом Вордпресс:)

x

Ваше имя (обязательно)

Ваш e-mail (обязательно)

Сообщение