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 provides a node type in its default config directory. Modules that provide a content type should explicitly set the "module" key in their config file.

During node operations (create, 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: When defining a node type, node_type_save() returns a 'base' component. Node-type-specific hooks are named base_hookname() instead of my_module_hookname() (in a module called 'my_module' for example). Only the node type's corresponding implementation is invoked. For example, book_node_info() in book.module defines the base for the 'book' node type as 'book'. So when a book node is created, hook_insert() is invoked on book_insert() only. Hooks that are node-type-specific are noted below.
  • 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 book 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

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

Functions

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