The Node API allows modules to define content types, to modify content types created in the user interface, and to modify content types created by other modules.
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, update, view, delete, etc.), there are several sets of hooks that get invoked to allow modules to modify the base node operation:
Here is a list of the node and entity hooks that are invoked, field operations, and other steps that take place during node operations:
| Name | Location | Description |
|---|---|---|
| hook_delete | modules/node/node.api.php | Respond to node deletion. |
| hook_form | modules/node/node.api.php | Display a node editing form. |
| hook_insert | modules/node/node.api.php | Respond to creation of a new node. |
| hook_load | modules/node/node.api.php | Act on nodes being loaded from the database. |
| hook_node_delete | modules/node/node.api.php | Respond to node deletion. |
| hook_node_info | modules/node/node.api.php | Define module-provided node types. |
| hook_node_insert | modules/node/node.api.php | Respond to creation of a new node. |
| hook_node_load | modules/node/node.api.php | Act on nodes being loaded from the database. |
| hook_node_prepare | modules/node/node.api.php | Act on a node object about to be shown on the add/edit form. |
| hook_node_prepare_translation | modules/node/node.api.php | Act on a node object being cloned for translation. |
| hook_node_presave | modules/node/node.api.php | Act on a node being inserted or updated. |
| hook_node_revision_delete | modules/node/node.api.php | Respond to deletion of a node revision. |
| hook_node_search_result | modules/node/node.api.php | Act on a node being displayed as a search result. |
| hook_node_update | modules/node/node.api.php | Respond to updates to a node. |
| hook_node_update_index | modules/node/node.api.php | Act on a node being indexed for searching. |
| hook_node_validate | modules/node/node.api.php | Perform node validation before a node is created or updated. |
| hook_node_view | modules/node/node.api.php | Act on a node that is being assembled before rendering. |
| hook_node_view_alter | modules/node/node.api.php | Alter the results of node_view(). |
| hook_prepare | modules/node/node.api.php | Act on a node object about to be shown on the add/edit form. |
| hook_ranking | modules/node/node.api.php | Provide additional methods of scoring for core search results for nodes. |
| hook_update | modules/node/node.api.php | Respond to updates to a node. |
| hook_validate | modules/node/node.api.php | Perform node validation before a node is created or updated. |
| hook_view | modules/node/node.api.php | Display a node. |