2012-07-05 79 views
1

我不是在寻找如何使用实现的一个现有钩子,而是创建一个新的类型为的钩子。假设挂钩hook_node_load()存在。我想创建类似于hook_node_preload()的东西,在节点加载之前触发。在Drupal中创建新的钩子7

我已经搜索,似乎无法找到在Drupal的代码钩子被解雇的地方。我认为它就像module_invoke_all()或类似的东西?但我不确定它叫什么名字。

回答

2

在整个Drupal过程中,Drupal钩子都被触发了。没有一个地方可以调用所有的钩子。

下面是一些从Drupal核心创造钩函数的列表:

http://api.drupal.org/api/drupal/includes%21module.inc/function/calls/module_invoke_all/7

hook_node_load()的情况下,从位于包括entity.inc文件名为/ entity.inc,at line 334.

foreach (module_implements($this->entityInfo['load hook']) as $module) { 
    call_user_func_array($module . '_' . $this->entityInfo['load hook'], $args); 
}