Позволяет модулям взаимодействовать с ядром Drupal.
Модули, используемые в Друпале, работают по принципу «хука» (англ. hook — крючок, ловушка). Хук — это PHP функция, которая имеет название module_name_hook_name()
, где «module_name» — название модуля (имя файла module_name.module), а «hook_name» — название самого хука. Каждый хук имеет определенный набор параметров и типов результатов.
Для расширения функциональности тех или иных частей Друпала, нужно реализовать соответствующий хук. Когда Друпал хочет взаимодействовать с модулями, он определяет какие хуки предоставляются модулями и вызывает эти хуки для всех включённых на сайте модулей.
Ниже перечислены хуки, вызов которых поддерживает Друпал. В определениях ниже, слово "hook"
следует заменять на имя соответствующего модуля, в котором этот хук будет реализован. Например, если есть модуль example.module и в нём определён хук
, то в модуле реализацию хука следует определить в виде функции example_help()
.
Функции
Имя | Описание |
---|---|
developer/hooks/ |
custom_url_rewrite_inbound не является хуком. Это функция, которую можно добавить в settings.php, чтобы переадресовывать входящие запросы к путям Друпала. Эта функция вызывается перед загрузкой модулей и инициализацией меню. Она изменяет $_GET[‘q’]. |
developer/hooks/ |
custom_url_rewrite_outbound не является хуком. Это функция, которую можно добавить в settings.php, и которая может вносить изменения во все ссылки, создаваемые Друпалом. |
developer/hooks/ |
Определяет ограничения доступа. |
developer/hooks/ |
Выполняется после удаления действия (action). |
developer/hooks/ |
Информирует триггеры Друпала о новых действиях (actions). |
developer/hooks/ |
Изменяет действия (action), объявленные другим модулем. |
developer/hooks/ |
Определяет блок или набор блоков. |
developer/hooks/ |
Выполняет задачи при загрузке системы. |
developer/hooks/ |
Выполняет действия над комментариями. |
developer/hooks/ |
Выполняет запланированные действия по расписанию. |
developer/hooks/ |
Переписывает запросы к БД, обычно для контроля доступа. |
developer/hooks/ |
Срабатывает при удалении ноды. |
developer/hooks/ |
Выполняет нужные действия перед тем, как модуль будет отключён. |
developer/hooks/ |
Позволяет модулям определять свои собственные типы элементов Forms API и определять их значения по умолчанию. |
developer/hooks/ |
Выполняет необходимые действия после того, как модуль включён. |
developer/hooks/ |
Используется для подчистки данных после загрузки страницы. |
developer/hooks/ |
Контролирует доступ к файлам при приватном способе загрузки. Кроме того, позволяет указывать HTTP заголовки для файлов. |
developer/hooks/ |
Определяет фильтры пользовательского ввода. |
developer/hooks/ |
Предоставляет советы по использованию фильтров пользовательского ввода. |
developer/hooks/ |
Позволяет добавляет свои таблицы к списку таблиц кеша, которые будут очищены. |
developer/hooks/ |
Вставляет закрывающий HTML. |
developer/hooks/ |
Показывает форму изменения ноды. |
developer/hooks/ |
Привязывает идентификаторы форм (form_ids) к функциям их построения. |
developer/hooks/ |
Позволяет вносить изменения в форму перед её показом. |
developer/hooks/ |
Предоставляет возможность изменить отдельную форму, вместо глобального хука |
developer/hooks/ |
Предоставляет контекстную справку для пользователей. |
developer/hooks/ |
Показывает список триггеров (событий), к которым Ваш модуль позволяет пользователям назначать действия. |
developer/hooks/ |
Выполняет задачи по инициализации. См. также |
developer/hooks/ |
Отвечает за вставку ноды. |
developer/hooks/ |
Устанавливает текущую версию схемы базы данных и выполняет другие операции по настройке. |
developer/hooks/ |
Определяет внутренние ссылки Drupal. |
developer/hooks/ |
Производит изменения перед тем как отображаются ссылки в ноде. Один из популярных способов использования этого хука — изменение/удаление ссылок из других модулей. Если вы хотите добавить ссылку в секцию ссылок ноды, используйте вместо этого |
developer/hooks/ |
Загружает информацию специфичную для типа ноды. |
developer/hooks/ |
Позволяет модулям определять их собственные группы текстов, которые могут быть переведены. |
developer/hooks/ |
Подготавливает письмо, основанное на параметрах. Для подробностей см. также |
developer/hooks/ |
Изменяет любой аспект email отсылаемых Друпал. Вы можете использовать этот хук, чтобы добавить общий нижний колонтитул сайта для всех исходящих писем; добавить дополнительное поле заголовка и/или изменить отправляемые письма любым образом. HTML-изация исходящих писем — одна из возможностей. |
developer/hooks/ |
Определяет пункты меню и обратные вызовы страниц. |
developer/hooks/ |
Производит изменения над данными, сохраненными в таблице {menu_router}, после того как выполнился |
developer/hooks/ |
Изменение данных, сохраненных в {menu_links} таблице по |
developer/hooks/ |
Выполняет действия над нодами. |
developer/hooks/ |
Устанавливает разрешения для ноды быть записанной в базу данных. |
developer/hooks/ |
Информирует систему управления доступом к нодам о правах, которые пользователь имеет. |
developer/hooks/ |
Определяет предоставляемые модулем типы нод. |
developer/hooks/ |
Добавляет массовые операции над нодами. |
developer/hooks/ |
Позволяет модулям осуществлять действия при изменении типа нод. |
developer/hooks/ |
Определяет права доступа пользователя. |
developer/hooks/ |
Отправляет ping-запрос на другой сервер. |
developer/hooks/ |
Этот хук используется модулями, которые работают с нодами. Он вызывается после загрузки ноды, но перед тем, как нода будет отображена в форме добавления/редактирования. |
developer/hooks/ |
Вносит изменения в элементы профиля перед тем, как они будут показаны. Вы можете пропускать/добавлять/пересортировывать/перегруппировывать и т.д. |
developer/hooks/ |
Проверяет требования для установки и выдает сообщение о статусе. |
developer/hooks/ |
Устанавливает базу данных согласно определенной схемы. |
developer/hooks/ |
Вносит изменения в существующие схемы базы данных. |
developer/hooks/ |
Определяет пользовательскую функцию поиска. |
developer/hooks/ |
Пред-обработка текста перед занесением в поисковой индекс. |
developer/hooks/ |
Изменяет информацию, получаемую из файлов .info модулей и тем. |
developer/hooks/ |
Выполняется при изменениях таксономии. |
developer/hooks/ |
Позволяет модулям предоставлять альтернативные пути к терминам таксономии, которыми заведует модуль. |
developer/hooks/ |
Регистрирует темизации модуля или темы. |
developer/hooks/ |
Изменяет информацию в регистре тем, возвращаемую |
developer/hooks/ |
Позволяет изменять уже переведенную ссылку меню перед отображением. |
developer/hooks/ |
Perform alterations on translation links. |
developer/hooks/ |
Служит для удаления таблиц и переменных модуля. |
developer/hooks/ |
Отвечает за обновление ноды. |
developer/hooks/ |
Обновляет полнотекстовый индекс Друпала для данного модуля. |
developer/hooks/ |
Возвращает номер последнего обновления модуля, не доступного более через хуки |
developer/hooks/ |
Производит обновление таблиц БД, необходимое для единичного обновления модуля. |
developer/hooks/ |
Изменяет информацию о доступных для проектов обновлениях. |
developer/hooks/ |
Выполняет действия с учётными записями пользователей. |
developer/hooks/ |
Добавляет массовую операцию над пользователями. |
developer/hooks/ |
Проверяет форму редактирования ноды. |
developer/hooks/ |
Показывает ноду. |
developer/hooks/ |
Записывает в журнал сообщения о событиях. |
developer/hooks/ |
Регистрирует обработчики XML-RPC. |
includes/ |
Определяет, реализует ли модуль данный хук. |
includes/ |
Определяет, какие модули реализуют хук. |
includes/ |
Вызывает хук в указанном модуле. |
includes/ |
Вызывает хук во всех включённых модулях. |
Источник: