Drupal 7. Основные понятия. Часть 2

Have a question? Ask in chat with AI!

drupal logoКак и обещал вчера, сегодня мы продолжаем разбираться в терминологии Drupal. В статье Drupal 7. Основные понятия. Часть 1 мы узнали о том, что за зверь такой Drupal, о технологиях, которые использует Drupal для работы, о функциях ядра и административной панели. Сегодня мы немного углубимся и разберем такие понятия как: модули, хуки, темы, ноды, поля и блоки. Информации будет чуть больше чем вчера, но она будет более интересной.

[adsense]

Модули

Drupal — модульная среда. Большинство функций Drupal реализуются с помощью модулей. Использование модулей можно запретить или разрешить. Добавить новые возможности на сайт под управлением Drupal можно включив имеющиеся модули или установив необходимые модули, которые пишутся членами сообщества Drupal. Что уж таить — написать модуль вы сможете и сами, имея достаточный уровень знаний PHP и устройства Drupal. Таким образом, сайт доступен сразу после установки, а для более серьезных проектов вы можете добавить функционал с помощью модулей.
Модули расширяют Drupal, добавляя новые типы контента — рецепты, статьи блога, файлы — и поведение — почтовые уведомления, одноранговая публикация и агрегация. В Drupal используется шаблон проектирования «Инверсия управления», где функции модулей вызываются средой в нужное время. Эти возможности модулей выполнять свои функции называются хуками.
модули в Drupal 7

Хуки

Хуки (hook — крючок, ловушка) можно считать внутренними событиями Drupal. Их часто называют обратными вызовами или коллбэками. Хуки позволяют модулям «вмешаться» в то, что происходит в остальной части Drupal. Реализация хуков в модулях является наиболее распространенным способом подключения к базовой функциональности Drupal.

Предположим, что пользователь регистрируется на веб-сайте Drupal. В момент входной регистрации пользователь запускает хук hook_user_login. Это означает, что будет вызываться любая функция с именем, образованным из имени модуля и имени хука. Например, это может быть функция comment_user_login() из модуля comment, locale_user_login() из модуля locale, node_user_login() из модуля node или любая другая функция с аналогичным именем.

Темы

При создании веб-страниц для отправки браузеру возникают две основные проблемы: сбор нужных данных и разметка этих данных для веб. В Drupal за создание кода HTML (JSON, XML и т.д.), который получит браузер, отвечает уровень тем. В качестве основного механизма шаблонов в Drupal используется технология PHPTemplate, но можно применять и Easy Template System (ETS). При создании новых тем Drupal разработчики обычно пользуются стандартным механизмом шаблонов. Важно помнить, что Drupal поощряет разделение контента и разметки.
В Drupal имеется несколько способов настройки и переопределения внешнего вида веб-сайта. Самый простой путь — применение каскадных таблиц стилей (CSS) для переопределения встроенных в Drupal классов и идентификаторов. Однако если вы захотите пойти дальше и настроить действительный HTML-вывод, то и это делается легко. Файлы шаблонов Drupal содержат стандартный код HTML и PHP. Кроме того, каждую динамическую часть страницы Drupal(список или путь навигации) можно переопределить, просто объявив функцию с соответствующим именем. После этого для создания данной части страницы Drupal будет использовать вашу функцию вместо встроенной.
темы в Drupal7

Ноды

Все типы контента в Drupal являются предками единственного базового типа, который называется нодой (node). Будь это запись блога, рецепт или еще что-то — основная структура данных для них одна и та же. Удобство такого подхода состоит в его легкой расширяемости. Разработчики модуля могут добавлять в ноды такие вещи, как рейтинги, комментарии, вложенные файлы и т.п. не заботясь о том, является ли тип ноды блогом, рецептом и т.д. Например, администратор может разрешить комментировать блоги, но не рецепты, или разрешить загрузку файлов только для рецептов.
Ноды также содержат базовый набор свойств, определяющих их поведение, которые наследуются всеми остальными типами контента. Любую ноду можно выдвинуть на первую страницу веб-сайта, опубликовать или отменить публикацию, либо сделать так, чтобы в ней работала функция поиска. Благодаря такой унифицированной структуре, в интерфейсе администратора имеется экран пакетного редактирования для работы с нодами.

Поля

Контент в Drupal состоит из отдельных полей. Например, полем является заголовок ноды, а также ее тело. С помощью полей в Drupal можно создавать любой мыслимый тип контента — например, Event (Событие). Обычно событие содержит заголовок, описание (или тело), дату и время начала, продолжительность, местоположение и возможно, ссылку для регистрации события. Каждый из этих элементов представляет собой поле. В Drupal можно создавать типы контента с помощью полей — программно (за счет создания модуля) или через интерфейс администрирования Drupal, с помощью создания нового типа контента и назначения полей через пользовательский интерфейс. К счастью, интерфейс Field API существенно облегчает создание как простых, так и сложных типов контента почти без программирования.

Блоки

Блок — это информация, которая может быть включена или отключена в определенном месте шаблона сайта. Например, с помощью блока можно отобразить количество активных в данный момент пользователей на сайте. Может существовать блок, содержащий ссылки на самый популярный контент сайта или список ближайших событий. Блоки обычно помещаются в боковую панель(сайдбар), хедер или футер шаблона. Блоки можно настроить для отображения в нодах определенного типа, только на первой странице или по другим критериям.
Часто блоки используют для представления информации, настроенной для конкретного пользователя. Например, пользовательский блок может содержать ссылки только на те административные области сайта, к которым текущий пользователь имеет права доступа — например, на страницу «Мой профиль». Области, где могут появляться блоки определяются темой сайта: размещением и отображением блоков можно управлять через административный веб-интерфейс.
блоки в Drupal 7

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


4 комментария для “0

  1. Уведомление: Drupal 7. Основные понятия. Часть 2 | Grabr
  2. «Ноды
    Все типы контента в Drupal являются предками единственного базового типа, который называется нодой (node).»

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Предыдущая запись Drupal 7. Основные понятия. Часть 1
Следующая запись jQuery: плагин Scrolling Parallax