Hook Post Action
This module provides developers with new hooks that are triggered after an entity or node is saved, inserted, updated, or deleted. This allows other modules to perform actions in response to these database changes.
You don't need this module unless you're either a developer or another module you're using depends on it.
Currently Drupal core does not offer any hook to do actions after a node/entity is insered/updated/deleted in the database. So this module introduces several new Drupal hooks to overcome this limitation:
- hook_entity_postsave
- hook_entity_postinsert
- hook_entity_postupdate
- hook_entity_postdelete
- hook_node_postsave
- hook_node_postinsert
- hook_node_postupdate
- hook_node_postdelete
Installation
Install and enable the module as usual.
Usage
Please read the hook_post_action.api file.
Also if you want to quickly see it working, you can enable the bundled module hook_post_action_example, add/delete/update some content and visit the logs at /admin/reports/dblog. You'll see log messages for each hook that was fired.
WARNING: The _postsave, _postinsert and _postupdate hooks are also called when the entity/node is deleted, as there is no way to find out whether the entity/node is actually saved/inserted/updated. However, the module does only call the delete hooks when the entity/node is actually deleted from database.
A simple example
<?php /** * Gets called after a node has been deleted from database. * * @param $node * A node object * * @see hook_node_postsave() * @see hook_node_postinsert() * @see hook_node_postupdate() * @see hook_node_postdelete() */ function hook_post_action_example_node_postdelete($node) { watchdog('hook_post_action_test', "The deleted node {$node->type} id is {$node->nid} from " . __FUNCTION__); }