ertttert
Books-CMS.clan.su

Модули. Хуки. Темы.

Модули

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

Модули расширяют Drupal, добавляя новые типы контента — рецепты, статьи блогов или файлы — и поведение, подобное почтовым уведомлениям, одноранговой публикации и агрегации. В Drupal используется шаблон проектирования “Инверсия управления” (Inversion of Control), где функции модулей вызываются средой в нужное время. Эти возможности модулей выполнять свои функции называются хуками.

Хуки

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

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

Совет. Более подробная информация о хуках, которые поддерживает Drupal, находится в электронной документации по адресу http://api.drupal.org/api/7, раздел “Components of Drupal” (“Компоненты Drupal”), подраздел “Module system (Drupal hooks)” (“Система модулей (хуки Drupal)”).

Темы

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

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

Всего комментариев: 0
Имя *:
Email *:
Код *:


Бесплатный конструктор сайтов - uCoz