其他分支中的相同名称和命名空间

响应节点删除。

这是一个特定于节点类型的挂钩,仅针对受影响的节点类型调用。有关详细信息,请参阅 节点 API 挂钩。

使用hook_node_delete ()响应所有节点类型的节点删除。

这个钩子是在hook_node_delete () 调用之前和field_attach_delete () 调用之前node_delete_multiple () 调用的。

请注意,调用此挂钩时,更改尚未写入数据库,因为数据库事务仍在进行中。直到删除操作完全完成并且node_delete_multiple () 超出范围时,事务才最终确定。此时您不应依赖数据库中的数据,因为它尚未更新。您还应该注意,从此挂钩执行的任何写入/更新数据库查询也不会立即提交。检查node_delete_multiple () 和 db_transaction () 以获取更多信息。

参数

$node:被删除的节点。

相关话题

82 个函数实现 hook_delete()

1 调用 hook_delete()

文件


  • 模块/

    节点

    /node.api.php,第 1063 行

  • Node 模块提供的钩子。


代码

function hook_delete($node) {
  db_delete('mytable')
    ->condition('nid', $node->nid)
    ->execute();
}

评论

mayur.pimple 的图片

如何删除所有内容

西纳萨莱克的图片

目前 Drupal 核心不提供任何钩子来在数据库中插入/更新/删除节点/实体后执行操作。因此,例如,您不能在插入节点后发送提及该节点的电子邮件,因为 Drupal 使用 SQL 事务,并且在调用 hook node presave 时节点尚未完全写入数据库,因此如果出于任何原因回滚事务,用户会收到虚假邮件。

因此 Hook Post Action 模块引入了几个新的 Drupal 钩子来克服这个限制:
- hook_entity_postsave
- hook_entity_postinsert
- hook_entity_postupdate
- hook_entity_postdelete
- hook_node_postsave
- hook_node_postinsert
- hook_node_postupdate
- hook_node_postdelete

https://drupal.org/project/hook_post_action

quardz 的图片

感谢 sinasalek,我开始使用这个模块,我使用了 10 多个站点进行开发,感谢一个很棒的模块,你节省了我的时间。


来自  https://api.drupal.org/api/drupal/modules%21node%21node.api.php/function/hook_delete/7.x