每次更新节点时如何执行功能?我尝试使用hook_nodeapi,但是看起来该钩子已从Drupal 7中删除。
我想做的是,
为此,我需要确保始终只有一个节点的'主映像'设置为true。
每次更新节点时如何执行功能?我尝试使用hook_nodeapi,但是好像该钩子已从Drupal 7中删除。我要做的是,向我的....>
挂钩尚未删除,但为每个$ op拆分为单独的挂钩。
当前,在数据库中插入/更新/删除节点/实体后,Drupal核心不提供任何执行操作的挂钩。例如,您不能在插入节点后发送电子邮件提及该节点,因为Drupal使用SQL事务,并且在调用钩子节点预保存时该节点尚未完全写入数据库,因此如果由于任何原因回滚该事务,用户将收到虚假邮件。
我想hook_entity_presave
可能是您要寻找的钩子,如果您想在更新节点之前采取行动:
只需稍微完成一下,如果在保存/更新节点后需要执行任何操作,则可以使用模块@ sina-salek建议您,也可以使用此代码:
另一种实现此目的的方法是,使用您的自定义类扩展Node实体,并在// Same for hook_node_save!
function my_module_node_update($node) {
if ($node->type == 'content_type_name') {
// Invoke your callback function AFTER the node is updated.
drupal_register_shutdown_function('_my_module_the_function_to_call', $node);
}
}
function _my_module_the_function_to_call($node) {
// do stuff...
}
方法内调用您的代码。保存或更新节点时将调用此方法。