четверг, 6 октября 2011 г.

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

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

Быстрый переход: A B C D E F H I L M N P R S T U V W X

Название хука
Описание хука

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()
Выполняется в самом начале загрузки страницы. Чаще всего используется для установки глобальных параметров./td>

С
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 методов.

 

Оригинал статьи http://drupalace.ru/lesson/shpargalka-po-khukam-dlya-drupal-6