Node API Hooks

Functions to define and modify content types.

Each content type is maintained by a primary module, which is either node.module (for content types created in the user interface) or the module that implements hook_node_info() to define the content type.

During node operations (create, insert, update, view, delete, etc.), there are several sets of hooks that get invoked to allow modules to modify the base node operation:

  • Node-type-specific hooks: These hooks are only invoked on the primary module, using the "base" return component of hook_node_info() as the function prefix. For example, forum.module defines the base for the Forum content type as "forum", so during creation of a forum node, hook_insert() is only invoked by calling forum_insert().
  • All-module hooks: This set of hooks is invoked on all implementing modules, to allow other modules to modify what the primary node module is doing. For example, hook_node_insert() is invoked on all modules when creating a forum node.
  • Field hooks: Hooks related to the fields attached to the node. These are invoked from the field operations functions described below, and can be either field-type-specific or all-module hooks.
  • Entity hooks: Generic hooks for "entity" operations. These are always invoked on all modules.

Here is a list of the node and entity hooks that are invoked, field operations, and other steps that take place during node operations:

File

drupal/core/modules/node/node.api.php, line 10
Hooks provided by the Node module.

Functions

Namesort descending Location Description
hook_delete drupal/core/modules/node/node.api.php Respond to node deletion.
hook_form drupal/core/modules/node/node.api.php Display a node editing form.
hook_insert drupal/core/modules/node/node.api.php Respond to creation of a new node.
hook_load drupal/core/modules/node/node.api.php Act on nodes being loaded from the database.
hook_node_create drupal/core/modules/node/node.api.php Act on a newly created node.
hook_node_delete drupal/core/modules/node/node.api.php Respond to node deletion.
hook_node_info drupal/core/modules/node/node.api.php Define module-provided node types.
hook_node_insert drupal/core/modules/node/node.api.php Respond to creation of a new node.
hook_node_load drupal/core/modules/node/node.api.php Act on arbitrary nodes being loaded from the database.
hook_node_predelete drupal/core/modules/node/node.api.php Act before node deletion.
hook_node_prepare drupal/core/modules/node/node.api.php Act on a node object about to be shown on the add/edit form.
hook_node_presave drupal/core/modules/node/node.api.php Act on a node being inserted or updated.
hook_node_revision_delete drupal/core/modules/node/node.api.php Respond to deletion of a node revision.
hook_node_search_result drupal/core/modules/node/node.api.php Act on a node being displayed as a search result.
hook_node_submit drupal/core/modules/node/node.api.php Act on a node after validated form values have been copied to it.
hook_node_update drupal/core/modules/node/node.api.php Respond to updates to a node.
hook_node_update_index drupal/core/modules/node/node.api.php Act on a node being indexed for searching.
hook_node_validate drupal/core/modules/node/node.api.php Perform node validation before a node is created or updated.
hook_node_view drupal/core/modules/node/node.api.php Act on a node that is being assembled before rendering.
hook_node_view_alter drupal/core/modules/node/node.api.php Alter the results of node_view().
hook_prepare drupal/core/modules/node/node.api.php Act on a node object about to be shown on the add/edit form.
hook_ranking drupal/core/modules/node/node.api.php Provide additional methods of scoring for core search results for nodes.
hook_update drupal/core/modules/node/node.api.php Respond to updates to a node.
hook_validate drupal/core/modules/node/node.api.php Perform node validation before a node is created or updated.
hook_view drupal/core/modules/node/node.api.php Display a node.