4
A
回答
2
Ayesh K答案很好。
我还发现使用Drupal "Rules"
来触发发布事件的另一种方法。
7
随着核心功能,没有挂钩。但Revisioning模块提供了一个。
但是,您可以通过检查更新OP上节点的状态来解决问题。虽然不是很聪明。
<?php
function MYMODULE_node_update($node){
if (isset($node->original->status) && $node->original->status == 0 && $node->status == 1){
MYMODULE_mymagic_func($node);
}
}
-2
如果触发功能是更新节点它的自我, 更改功能MYMODULE_node_update($节点)的功能MYMODULE_node_presave($节点)
1
由于Ayeshķwrites,我也没有意识到的一个核心功能。他的解决方法可行,但错过了新创建的节点即将发布的情况。
所以我扩展代码和它包裹成一个函数:
/**
* Checks if a node is being published.
*
* @param object $node
* The node to check.
*
* @return bool
* TRUE if node is now published and
* 1) was not published before or
* 2) did not exist before;
* FALSE in all other cases.
*/
function MYMODULE_node_is_being_published(&$node) {
if (isset($node->original)) {
return (
isset($node->original->status) &&
$node->original->status == 0 &&
$node->status == 1
);
}
else {
return $node->status == 1;
}
}
相关问题
- 1. 的Drupal 7:挂钩节点处理页面加载
- 2. 何时user_receive_packet挂钩启动/触发
- 3. 以编程方式挂钩事件不会触发?
- 4. drupal 7在创建节点时触发脚本
- 5. radtreeview节点不会触发onClick事件?
- 6. 节点readline'line'事件未触发
- 7. 如何挂钩键事件
- 8. Drupal 7如何在节点
- 9. Drupal 7限制发布的节点每用户
- 10. 获取只有几天前的节点发布 - Drupal 7
- 11. drupal视图节点发布字段
- 12. Drupal 7 VBO的钩子form_alter不会触发
- 13. Drupal 7评论未发布
- 14. Drupal EntityForm挂钩
- 15. 挂钩drupal 7中的基本页面
- 16. Drupal 7:实体引用挂钩
- 17. 代码触发器或挂钩在ASP.Net
- 18. Mercurial更改组挂钩未触发; Linux
- 19. 在ASP.NET中,如何在客户端挂钩回发事件
- 20. 反正有一个挂钩事件的Django-CMS页面发布事件
- 21. 如何触发childNode点击事件
- 22. 如何手动触发点击事件?
- 23. 如何用jQuery触发点击事件
- 24. 触发节点js文件
- 25. drupal 7触发器:查看特定节点类型时的电子邮件
- 26. WordPress的挂钩前发布更新
- 27. SVN客户端发布提交挂钩
- 28. '发布绑定事件的钩子。 “?
- 29. 节点更新挂钩Cron
- 30. 如何在双击树节点时触发事件