Hooks

  1. drupal
    1. drupal6
    2. drupal7

Allow modules to interact with the Drupal core.

Drupal's module system is based on the concept of "hooks". A hook is a PHP function that is named foo_bar(), where "foo" is the name of the module (whose filename is thus foo.module) and "bar" is the name of the hook. Each hook has a defined set of parameters and a specified result type.

To extend Drupal, a module need simply implement a hook. When Drupal wishes to allow intervention from modules, it determines which modules implement a hook and call that hook in all enabled modules that implement it.

The available hooks to implement are explained here in the Hooks section of the developer documentation. The string "hook" is used as a placeholder for the module name is the hook definitions. For example, if the module file is called example.module, then hook_help() as implemented by that module would be defined as example_help().

Funktionen & Methoden

NameBeschreibung
custom_url_rewrite_inboundcustom_url_rewrite_inbound is not a hook, it's a function you can add to settings.php to alter incoming requests so they map to a Drupal path. This function is called before modules are loaded and the menu system is initialized and it changes…
custom_url_rewrite_outboundcustom_url_rewrite_outbound is not a hook, it's a function you can add to settings.php to alter all links generated by Drupal. This function is called from url(). This function is called very frequently (100+ times per page) so performance…
hook_accessDefine access restrictions.
hook_actions_deleteExecute code after an action is deleted.
hook_action_infoDeclare information about one or more Drupal actions.
hook_action_info_alterAlter the actions declared by another module.
hook_aggregator_fetchImplement this hook to create an alternative fetcher for aggregator module.
hook_aggregator_fetch_infoImplement this hook to expose the title and a short description of your fetcher.
hook_aggregator_parseImplement this hook to create an alternative parser for aggregator module.
hook_aggregator_parse_infoImplement this hook to expose the title and a short description of your parser.
hook_aggregator_processImplement this hook to create a processor for aggregator module.
hook_aggregator_process_infoImplement this hook to expose the title and a short description of your processor.
hook_aggregator_removeImplement this hook to remove stored data if a feed is being deleted or a feed's items are being removed.
hook_block_configureConfiguration form for the block.
hook_block_listList of all blocks defined by the module.
hook_block_saveSave the configuration options.
hook_block_viewProcess the block when enabled in a region in order to view its contents.
hook_bootPerform setup tasks. See also, hook_init.
hook_comment_deleteThe comment is being deleted by the moderator.
hook_comment_insertThe comment is being inserted.
hook_comment_publishThe comment is being published by the moderator.
hook_comment_unpublishThe comment is being unpublished by the moderator.
hook_comment_updateThe comment is being updated.
hook_comment_validateThe user has just finished editing the comment and is trying to preview or submit it. This hook can be used to check or even modify the comment. Errors should be set with form_set_error().
hook_comment_viewThe comment is being viewed. This hook can be used to add additional data to the comment before theming.
hook_cronPerform periodic actions.
hook_db_rewrite_sqlRewrite database queries, usually for access control.
hook_deleteRespond to node deletion.
hook_disablePerform necessary actions before module is disabled.
hook_elementsAllows modules to declare their own Forms API element types and specify their default values.
hook_enablePerform necessary actions after module is enabled.
hook_exitPerform cleanup tasks.
hook_file_copyRespond to a file that has been copied.
hook_file_deleteRespond to a file being deleted.
hook_file_downloadControl access to private file downloads and specify HTTP headers.
hook_file_insertRespond to a file being added.
hook_file_loadLoad additional information into file objects.
hook_file_moveRespond to a file that has been moved.
hook_file_referencesReport the number of times a file is referenced by a module.
hook_file_updateRespond to a file being updated.
hook_file_validateCheck that files meet a given criteria.
hook_filterDefine content filters.
hook_filter_tipsProvide tips for using filters.
hook_flush_cachesAdd a list of cache tables to be cleared.
hook_footerInsert closing HTML.
hook_formDisplay a node editing form.
hook_formsMap form_ids to builder functions.
hook_form_alterPerform alterations before a form is rendered.
hook_form_FORM_ID_alterProvide a form-specific alteration instead of the global hook_form_alter().
hook_helpProvide online user help.
hook_hook_infoExpose a list of triggers (events) that your module is allowing users to assign actions to.
hook_image_toolkitsDefine image toolkits provided by this module.
hook_initPerform setup tasks. See also, hook_boot.
hook_insertRespond to node insertion.
hook_installInstall the current version of the database schema, and any other setup tasks.
hook_js_alterPerform necessary alterations to the JavaScript before it is presented on the page.
hook_linkDefine internal Drupal links.
hook_link_alterPerform alterations before links on a comment are rendered. One popular use of this hook is to modify/remove links from other modules. If you want to add a link to the links section of a node, use hook_link instead.
hook_loadLoad node-type-specific information.
hook_localeAllows modules to define their own text groups that can be translated.
hook_mailPrepare a message based on parameters.
hook_mail_alterAlter 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_menuDefine menu items and page callbacks.
hook_menu_alterAlter the data being saved to the {menu_router} table after hook_menu is invoked.
hook_menu_link_alterAlter the data being saved to the {menu_links} table by menu_link_save().
hook_modules_disabledPerform necessary actions after modules are disabled.
hook_modules_enabledPerform necessary actions after modules are enabled.
hook_modules_installedPerform necessary actions after modules are installed.
hook_modules_uninstalledPerform necessary actions after modules are uninstalled.
hook_node_access_recordsSet permissions for a node to be written to the database.
hook_node_access_records_alterAlter permissions for a node before it is written to the database.
hook_node_build_alterThe node content was built, the module may modify the structured content.
hook_node_deleteAct on node deletion.
hook_node_delete_revisionA revision of the node is deleted.
hook_node_grantsInform the node access system what permissions the user has.
hook_node_grants_alterAlter user access rules when trying to view, edit or delete a node.
hook_node_infoDefine module-provided node types.
hook_node_insertRespond to node insertion.
hook_node_loadAct on node objects when loaded.
hook_node_operationsAdd mass node operations.
hook_node_prepareThe node is about to be shown on the add/edit form.
hook_node_prepare_translationThe node is being cloned for translation.
hook_node_presaveThe node passed validation and is about to be saved.
hook_node_search_resultThe node is being displayed as a search result.
hook_node_typeAct on node type changes.
hook_node_updateThe node being updated.
hook_node_update_indexThe node is being indexed.
hook_node_validateThe user has finished editing the node and is previewing or submitting it.
hook_node_viewThe node content is being assembled before rendering.
hook_openidAllow modules to modify the OpenID request parameters.
hook_page_alterPerform alterations before a page is rendered.
hook_permDefine user permissions.
hook_prepareThis is a hook used by node modules. It is called after load but before the node is shown on the add/edit form.
hook_profile_alterPerform alterations profile items before they are rendered. You may omit/add/re-sort/re-categorize, etc.
hook_query_alterPerform alterations to a structured query.
hook_query_TAG_alterPerform alterations to a structured query for a given tag.
hook_requirementsCheck installation requirements and do status reporting.
hook_schemaDefine the current version of the database schema.
hook_schema_alterPerform alterations to existing database schemas.
hook_searchDefine a custom search routine.
hook_search_preprocessPreprocess text for the search index.
hook_system_info_alterAlter the information parsed from module and theme .info files
hook_taxonomy_term_deleteRespond to the deletion of taxonomy terms.
hook_taxonomy_term_insertAct on taxonomy terms when inserted.
hook_taxonomy_term_loadAct on taxonomy terms when loaded.
hook_taxonomy_term_updateAct on taxonomy terms when updated.
hook_taxonomy_vocabulary_deleteRespond to the deletion of taxonomy vocabularies.
hook_taxonomy_vocabulary_insertAct on taxonomy vocabularies when inserted.
hook_taxonomy_vocabulary_loadAct on taxonomy vocabularies when loaded.
hook_taxonomy_vocabulary_updateAct on taxonomy vocabularies when updated.
hook_test_finishedAn individual test has finished.
hook_test_group_finishedA test group has finished.
hook_test_group_startedA test group has started.
hook_themeRegister a module (or theme's) theme implementations.
hook_theme_registry_alterAlter the theme registry information returned from hook_theme().
hook_translated_menu_link_alterAlter a menu link after it's translated, but before it's rendered.
hook_translation_link_alterPerform alterations on translation links.
hook_uninstallRemove any information that the module sets.
hook_updateRespond to node updating.
hook_update_indexUpdate Drupal's full-text index for this module.
hook_update_last_removedReturn a number which is no longer available as hook_update_N().
hook_update_NPerform a single update. For each patch which requires a database change add a new hook_update_N() which will be called by update.php.
hook_update_status_alterAlter the information about available updates for projects.
hook_userAct on user account actions.
hook_user_cancelAct on user account cancellations.
hook_user_cancel_methods_alterModify account cancellation methods.
hook_user_loadAct on user objects when loaded from the database.
hook_user_operationsAdd mass user operations.
hook_validateVerify a node editing form.
hook_viewDisplay a node.
hook_watchdogLog an event message
hook_xmlrpcRegister XML-RPC callbacks.
module_hookDetermine whether a module implements a hook.
module_implementsDetermine which modules are implementing a hook.
module_invokeInvoke a hook in a particular module.
module_invoke_allInvoke a hook in all enabled modules that implement it.
_module_implements_maintenanceThis is the maintenance version of module_implements for internal use only.

includes/module.inc, line 334

Kommentare

Kommentar hinzufügen

Der Inhalt dieses Feldes wird nicht öffentlich zugänglich angezeigt.
  • Internet- und E-Mail-Adressen werden automatisch umgewandelt.
  • Zulässige HTML-Tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Zeilen und Absätze werden automatisch erzeugt.

Weitere Informationen über Formatierungsoptionen

Kommentar hinzufügen

Der Inhalt dieses Feldes wird nicht öffentlich zugänglich angezeigt.
  • Internet- und E-Mail-Adressen werden automatisch umgewandelt.
  • Zulässige HTML-Tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Zeilen und Absätze werden automatisch erzeugt.

Weitere Informationen über Formatierungsoptionen