Хуки
Позволяет модулям взаимодействовать с ядром Drupal.
Модули, используемые в Друпале, работают по принципу «хука» (англ. hook — крючек, ловушка). Хук — это PHP функция, которая имеет называние module_name_hook_name()
, где «module_name» — название модуля (имя файла module_name.module), а «hook_name» — название самого хука. Каждый хук имеет определенный набор параметров и типов результатов.
Для расширения функциональности тех или иных частей Друпала, нужно реализовать соответствующий хук. Когда Друпал хочет взаимодействовать с модулями, он определяет какие хуки предоставляются модулями и вызывает эти хуки для всех включённых на сайте модулей.
Ниже перечислены хуки, вызов которых поддерживает Друпал. В определениях ниже, слово "hook"
следует заменять на имя соответствующего модуля, в котором этот хук будет реализован. Например, если есть модуль example.module и в нём определён хук hook_help()
, то в модуле реализацию хука следует определить в виде функции example_help()
.
Функции
Имя | Описание |
---|---|
custom_url_rewrite developer/hooks/core.php | custom_url_rewrite не является хуком. Это функция, которую вы можете добавить в settings.php, для управления и переадресации путей в Друпале. |
hook_access developer/hooks/node.php | Определяет ограничения доступа. |
hook_auth developer/hooks/authentication.php | Проверяет аутентификацию пользователя. |
hook_block developer/hooks/core.php | Определяет блок или набор блоков. |
hook_comment developer/hooks/core.php | Выполняет действия над комментариями. |
hook_cron developer/hooks/core.php | Выполняет запланированные действия по расписанию. |
hook_db_rewrite_sql developer/hooks/core.php | Переписывает запросы к БД, обычно для контроля доступа. |
hook_delete developer/hooks/node.php | Срабатывает при удалении ноды. |
hook_disable developer/hooks/install.php | Выполняет нужные действия перед тем, как модуль будет отключён. |
hook_elements developer/hooks/core.php | Позволяет модулям объявлять собственные типы элементов форм и задавать им значения по умолчанию. |
hook_enable developer/hooks/install.php | Выполняет необходимые действия после того, как модуль включён. |
hook_exit developer/hooks/core.php | Используется для подчистки данных после загрузки страницы. |
hook_file_download developer/hooks/core.php | Позволяет загружать файлы. |
hook_filter developer/hooks/core.php | Определяет фильтры пользовательского ввода. |
hook_filter_tips developer/hooks/core.php | Предоставляет советы по использованию фильтров пользовательского ввода. |
hook_footer developer/hooks/core.php | Вставляет закрывающий HTML. |
hook_form developer/hooks/node.php | Показывает форму редактирования ноды. |
hook_forms developer/hooks/core.php | Привязывает идентификаторы форм (form_ids) к функциям их построения. |
hook_form_alter developer/hooks/core.php | Позволяет вносить изменения в форму перед её показом. |
hook_help developer/hooks/core.php | Предоставляет контекстную справку для пользователей. |
hook_info developer/hooks/authentication.php | Declare authentication scheme information. |
hook_init developer/hooks/core.php | Выполняет задачи по инициализации. |
hook_insert developer/hooks/node.php | Отвечает за вставку ноды. |
hook_install developer/hooks/install.php | Install the current version of the database schema. |
hook_link developer/hooks/core.php | Определяет внутренние ссылки Drupal. |
hook_link_alter developer/hooks/core.php | Производит изменения перед тем как отображаются ссылки в ноде. Один из популярных способов использования этого хука - изменение/удаление ссылок из других модулей. Если вы хотите добавить ссылку в секцию ссылок ноды, используйте вместо этого hook_link(). |
hook_load developer/hooks/node.php | Загружает информацию специфичную для типа ноды. |
hook_mail_alter developer/hooks/core.php | Alter any aspect of the emails sent by Drupal. You can use this hook to add a common site footer to all outgoing emails; add extra header fields and/or modify the mails sent out in any way. HTML-izing the outgoing mails is one possibility. See also... |
hook_menu developer/hooks/core.php | Определяет пункты меню и обратный вызов страниц. |
hook_nodeapi developer/hooks/core.php | Выполняет действия над нодами. |
hook_node_access_records developer/hooks/core.php | Set permissions for a node to be written to the database. |
hook_node_grants developer/hooks/core.php | Inform the node access system what permissions the user has. |
hook_node_info developer/hooks/node.php | Определяет типы нод, которые предоставляет модуль. |
hook_node_operations developer/hooks/core.php | Add mass node operations. |
hook_node_type developer/hooks/node.php | Позволяет модулям осуществлять действия при изменении типа нод. |
hook_perm developer/hooks/core.php | Определяет права доступа пользователя. |
hook_ping developer/hooks/core.php | Отправляет ping-запрос на другой сервер. |
hook_prepare developer/hooks/node.php | Этот хук используется модулями, которые работают с нодами. Он вызывается после загрузки ноды, но перед тем, как нода будет отображена в форме добавления/редактирования. |
hook_profile_alter developer/hooks/core.php | Вносит изменения в элементы профиля перед тем, как они будут показаны. Вы можете пропускать/добавлять/пересортировывать/перегруппировывать и т.д. |
hook_requirements developer/hooks/install.php | Check installation requirements that need to be satisfied. |
hook_search developer/hooks/core.php | Определяет пользовательскую функцию поиска. |
hook_search_preprocess developer/hooks/core.php | Пред-обработка текста перед занесением в поисковой индекс. |
hook_submit developer/hooks/node.php | This is a hook used by node modules. It is called after validation has succeeded and before insert/update. It is used to for actions which must happen only if the node is to be saved. Usually, $node is changed in some way and then the actual saving of... |
hook_taxonomy developer/hooks/core.php | Выполняется при изменениях таксономии. |
hook_uninstall developer/hooks/install.php | Служит для удаления таблиц и переменных модуля. |
hook_update developer/hooks/node.php | Запускается при обновлениях ноды. |
hook_update_index developer/hooks/core.php | Обновляет полнотекстовый индекс Друпала для данного модуля. |
hook_update_last_removed developer/hooks/install.php | Возвращает номер последнего обновления модуля, не доступного более через хуки hook_update_N(). |
hook_update_N developer/hooks/install.php | Производит обновление таблиц БД, необходимое для единичного обновления модуля. |
hook_user developer/hooks/core.php | Выполняет действия с учётными записями пользователей. |
hook_user_operations developer/hooks/core.php | Добавляет массовую операцию над пользователями. |
hook_validate developer/hooks/node.php | Проверяет форму редактирования ноды. |
hook_view developer/hooks/node.php | Показывает ноду. |
hook_xmlrpc developer/hooks/core.php | Регистрирует обработчики XML-RPC. |
module_hook includes/module.inc | Определяет, реализует ли модуль данный хук. |
module_implements includes/module.inc | Определяет какие модули реализуют хук. |
module_invoke includes/module.inc | Вызывает хук в указанном модуле. |
module_invoke_all includes/module.inc | Вызывает хук во всех включённых модулях. |