УрокШпаргалка по хукам для drupal 6

Здесь собраны и описаны основные хуки для внедрения в модули Drupal версии 6.x.

Быстрый переход: ABCDEFHILMNPRSTUVWX

Название хука Описание хука
A hook_access($op, $node, $account) Делает проверку доступа пользователя к определённому объекту сайта.
hook_actions_delete($aid) Вызывается после удаления действия (action).
hook_action_info() Позволяет добавить новое действие (action) для триггеров.
hook_action_info_alter(&$actions) Позволяет изменять действия (actions), созданные другими модулями.
B hook_block($op = 'list', $delta = 0, $edit = array()) Позволяет добавлять и управлять блоками на сайте. Доступные операции($op): list, configure, save, view.
hook_boot() Выполняется в самом начале загрузки страницы. Чаще всего используется для установки глобальных параметров.
С hook_comment(&$a1, $op) Позволяет выполнять операции над комментариями. Доступные операции($op): insert, update, view, validate, publish, unpublish, delete.
hook_cron() Выполняется при запуске регулярных задач сайта (cron).
D hook_db_rewrite_sql($query, $primary_table, $primary_field, $args) Позволяет переписывать запросы к базе данных. Чаще всего используется для контроля доступа.
hook_delete(&$node) Выполняется при удалении материала (ноды). Вместо этого хука чаще используется hook_nodeapi с операцией delete.
hook_disable() Определяет инструкции, которые будут выполнены каждый раз, когда модуль отключается.
E hook_elements() Позволяет разработчикам создавать собственные типы элементов Forms API, и определять их дефолтные значения.
hook_enable() Этот хук выполняется каждый раз, когда модуль включается.
hook_exit($destination = NULL) Запускается в конце загрузки страницы. Чаще всего используется для записей в журнал, отладки, для выполнения кода для закешированных страниц, и т.д.
F hook_file_download($filepath) Позволяет управлять доступом к файлам при использовании приватного метода загрузки. Так же позволяет указывать HTTP заголовки файлов.
hook_filter($op, $delta = 0, $format = -1, $text = '', $cache_id = 0) Позволяет определить фильтры для пользовательского ввода текста.
hook_filter_tips($delta, $format, $long = false) Позволяет добавить подсказки по форматированию пользовательского текста.
hook_flush_caches() Вызывается при очистке кэша. Чаще всего используется для очистки таблиц модуля от кэша.
hook_footer($main = 0) Позволяет добавлять код в конец страницы, перед закрывающимся тэгом </body> (через переменную $closure в page.tpl.php)
hook_form(&$node, $form_state) Возвращает форму создания или редактирования ноды.
hook_forms() Позволяет привязать form_ids (идентификаторы формы) к функциям, которые их строят.
hook_form_alter(&$form, &$form_state, $form_id) Даёт возможность внести изменения в форму до того, как она будет построена (вызван рендер формы).
hook_form_FORM_ID_alter(&$form, &$form_state) Даёт возможность внести изменения в конкретную форму до того, как она будет построена. Выполняется до запуска hook_form_alter.
H hook_help($path, $arg) Позволяет внести модуль в контекстную справку для пользователей на странице admin/help.
hook_hook_info() Позволяет предоставить информацию о триггерах, для которых модуль может назначить действия.
I hook_init() Выполняется в начале загрузки страницы, после загрузки всех модулей. Не выполняется на закешированных страницах.
hook_insert($node) Вызывается при создании ноды. Вместо этого хука чаще используется hook_nodeapi с операцией insert.
hook_install() Позволяет указать схему инсталляции базы данных при установке модуля. Так же может использоваться для других действий при установке.
L hook_link($type, $object, $teaser = FALSE) Позволяет добавить внутренние ссылки в любую часть сайта.
hook_link_alter(&$links, $node) Даёт возможность изменять внутренние ссылки сайта перед их выводом.
hook_load($node) Позволяет загружать информацию, специфичную для данного объекта.
hook_locale($op = 'groups') Даёт возможность определять собственные текстовые группы для переводов.
M hook_mail($key, &$message, $params) Позволяет добавить/редактировать собственные параметры для отправки емейла. Вызывается функцией drupal_mail.
hook_mail_alter(&$message) Позволяет изменить любой емейл, который может быть отправлен функцией drupal_mail.
hook_menu() Позволяет добавлять страницы на сайт, определяет их заголовки, функции обратного вызова (callback), параметы доступа и т.д.
hook_menu_alter(&$items) Позволяет изменять страницы сайта, созданные любым модулем: заголовки, функции обратного вызова (callback), параметры доступа и т.д.
hook_menu_link_alter(&$item, $menu) Позволяет изменять ссылки из меню сайта.
N hook_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) Позволяет выполнять действия над нодами. Возможные действия ($op): alter, delete, delete revision, insert, load, prepare, prepare translations, print, rss item, search result, presave, update, update index, validate, view.
hook_node_access_records($node) Выставляет права на запись ноды в базу данных.
hook_node_grants($account, $op) Хук позволяет определить права доступа пользователя к нодам.
hook_node_info() Позволяет создавать свои типы ноды.
hook_node_operations() Позволяет добавлять в выпадающий список на странице admin/content/node массовые действия над выбранными нодами.
hook_node_type($op, $info) Позволяет выполнять операции над нодами определённого типа. Возможные операции ($op): delete, insert, update.
P hook_perm() Позволяет добавить свои права доступа для пользователей, которые можно указывать на странице admin/user/permissions.
hook_ping($name = '', $url = '') Позволяет отправлять ping-запросы на другие сервера об изменениях на сайте.
hook_prepare(&$node) Используется для изменения данных, отображаемых в форме редактирования. Вызывается после загрузки ноды из базы данных, но перед добавлением загруженных данных в форму редактирования материала.
hook_profile_alter(&$account) Позволяет изменять пользовательские профили перед тем, как они будут отображены на сайте.
R hook_requirements($phase) Позволяет проверить наличие необходимых элементов для работы модуля, и сообщает об их статусе. Возможные фазы проверки ($phase): install, runtime.
S hook_schema() Позволяет добавить таблицы в базу данных при инсталляции модуля, добавив код с их описанием.
hook_schema_alter(&$schema) Позволяет менять существующие схемы таблиц, чтобы внести измениня в базу данных.
hook_search($op = 'search', $keys = null) Позволяет добавить свой тип объекта для выполнения операций поиска по сайту. Возможные операции ($op): name, reset, search, status.
hook_search_preprocess($text) Предварительная обработка текста перед его индексацией.
hook_system_info_alter(&$info, $file) Позволяет менять информацию, полученную из .info-файлов модулей и шаблонов (тем) сайта.
T hook_taxonomy($op, $type, $array = NULL) Позволяет выполнять операции при работе со словарями и терминами таксономии. Возможные операции ($op): delete, insert, update.
hook_term_path($term) Позволяет добавлять альтернативные пути (алиасы) к терминам таксономии, которыми управляет модуль.
hook_theme($existing, $type, $theme, $path) Позволяет регистрировать функции темизации модуля или темы, которые потом могут быть вызваны через функцию theme().
hook_theme_registry_alter(&$theme_registry) Изменяет информацию в регистре темизации, отдаваемую хуком hook_theme.
hook_translated_menu_link_alter(&$item, $map) Позволяет менять уже переведённую ссылку меню перед её выводом.
hook_translation_link_alter(&$links, $path) Позволяет выполнять действия над ссылками меню при переводе их на другой язык.
U hook_uninstall() Позволяет выполнять действия при удалении модуля. Обычно используется для очистки БД от таблиц/записей модуля.
hook_update($node) Позволяет выполнять изменения над нодой при её обновлении. Вместо этого хука чаще используется hook_nodeapi с операцией update.
hook_update_index() Позволяет обновить полнотекстовый индекс Друпала для модуля. Реализуется когда модуль использует механизм полнотекстового поиска.
hook_update_last_removed() Возвращает номер последнего обновления текущего модуля.
hook_update_N(&$sandbox = NULL) Позвляет выполнить операции обновления модуля, производимые при запуске update.php. Чаще всего используется для изменения используемых модулем таблиц БД.
hook_update_status_alter(&$projects) Позволяет изменить информацию, предоставляемую Друпалом о доступных обновлениях для модулей и тем.
hook_user($op, &$edit, &$account, $category = NULL) Позволяет выполнять действия при различных операциях над аккаунтами пользователей. Доступные операции: after_update, categories, delete, form, insert, load, login, logout, register, submit, update, validate, view.
hook_user_operations() Позволяет добавить в выподающий список на странице admin/user/user массовую операцию над выбранными пользователями.
V hook_validate($node, &$form) Позволяет проверить (валидировать) форму редактирования материала. Вместо этого хука чаще используется hook_nodeapi с операцией validate.
hook_view($node, $teaser = FALSE, $page = FALSE) Позволяет добавить/редактировать содержимое ноды при её просмотре. Вместо этого хука чаще используется hook_nodeapi с операцией view.
W hook_watchdog($log_entry) Позволяет выполнить действия при записи в системный журнал. Например, отправить уведомление администратору на емейл или на мобильный телефон.
X hook_xmlrpc() Позволяет модулям регистрировать собственные функции обратного вызова (callback) для выполнения определенных XML-RPC методов.

Комментарии

Аватар пользователя Клещ
Клещ написал:

Спасибо. Вот ещё бы немного разжованых примеров.... для особо одарённых, кто в пхп слабоват))

04.06.2013 08:02

Комментировать