【发布时间】:2011-06-27 01:00:19
【问题描述】:
是否可以在 Drupal 模块中创建您自己的钩子以供其他 Drupal 模块使用?如果没有,Drupal 中是否有第三方开发人员提供挂钩的机制?如果到目前为止一切都不是,那么核心中的钩子列表在哪里实现?
据我了解,Drupal 模块在称为hooks 的系统之类的事件上工作。当您创建一个新模块时,您会创建实现挂钩的函数。例如,有一个 hook_delete 钩子。如果你在你的模块中实现一个函数
function mymodule_delete($node)
{
}
每当删除节点时都会调用此函数。
我想知道的是,作为第三方模块开发人员,我是否有办法创建我自己的钩子。比如说,hook_alanskickbutthook 之类的东西,以便其他模块开发人员可以订阅这个钩子。
如果这是可能的,你是怎么做到的?我查看了官方文档并没有发现太多内容,当我开始浏览 Drupal 源代码时我仍然有点头晕(我了解递归,但没有花足够的时间思考递归问题)。欢迎提供完整的解决方案,但我很高兴能指出正确的方向。
【问题讨论】:
标签: php drupal drupal-modules system