老葛的Drupal培训班 Think in Drupal
在从数据库中删除一个节点以后,Drupal将会立即调用钩子hook_delete(),所有实现了这个钩子的模块都会被调用。该钩子一般用来从数据库中删除相关的信息。只有在删除当前节点类型的节点时,才调用这个钩子。如果节点类型在hook_node_info()中的“module”键为“joke”的话,将会调用joke_delete()。
/**
* Implementation of hook_delete().
*/
function joke_delete(&$node) {
// Delete the related information we were saving for this node.
db_query('DELETE FROM {joke} WHERE nid = %d', $node->nid);
}
注意 当要删除的是一个修订本而不是整个节点时,Drupal将调用钩子hook_nodeapi(),其中将$op设为“delete revision”并将整个节点对象传递进来。接着你的模块可以以$node->vid为键,来删除该修订本的数据。