УрокШпаргалка по хукам для 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 методов. |
- Spleshka
- 28.08.2011
- 17745
Комментарии
Спасибо. Вот ещё бы немного разжованых примеров.... для особо одарённых, кто в пхп слабоват))
Комментировать