Обзор хуков, применение их своих модулях

Опубликовано 2012.04.15 в разделе Drupal.

В CMF Drupal предусмотрена работа с событиями. Для этого используются хуки. Каждый хук привязан к своему событию. Используя хуки можно привязаться к любому событию.

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

Использовать хуки можно в модулях. Хук – это функция с именем <имя модуля>_<название хука>

Data Base API

Опубликовано 2012.04.14 в разделе Drupal.

API для работы с БД в Drupal 7. На мой взгляд – это самое лучшее API. Поначалу оно может показаться сложным и непонятным. Для работы с БД вы должны понимать, что такое SQL запросы и уметь их писать.  Drupal 7 понимает как обыкновенные SQL запросы(как в Drupal 6), так и построенные с помощью API.

Вы также можете почитать на эту тему статью, описывающую работу с БД в Drupal 7.

Начнем с простого select.

Извлечём nid всех нод с типом page.

Field API

Опубликовано 2012.04.14 в разделе Drupal.

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

Form API. Создание пользовательских форм в Drupal

Опубликовано 2012.04.14 в разделе Drupal.

Для создания пользовательских форм очень удобно использовать встроенные в Drupal механизмы. Это гораздо удобнее, чем писать html код вручную с нуля.

Сразу даю ссылку на документацию, к которой мы будем обращаться http://api.drupal.org/api/drupal/developer!topics!forms_api_reference.html/7

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

Создание модуля Drupal

Опубликовано 2012.04.14 в разделе Drupal.

Как вы уж знаете - модуль в Drupal-это самостоятельный функционал, который может взаимодействовать с другими модулями, с темами и с ядром системы. Разрабатывать собственные модули несложно.

Для создания модуля необходимо создать файл модуля(.module) и файл с информацией о модуле(.info). Это обязательный минимум. Также модуль может включать в себя другие php файлы, различные шаблоны, файлы стилей, JavaScript и т.д.

Info файл, файл module и папка модуля должны иметь одинаковые названия.

Файл info содержит в себе информацию о модуле.