我不是在寻找如何实现现有的钩子,而是要创建一种新型的钩子。假设钩子hook_node_load()
存在。我想创建类似的东西hook_node_preload()
,在加载节点之前触发。
我已经搜索过,似乎无法找出 Drupal 代码钩子在哪里被触发。我认为它是类似的东西module_invoke_all()
或类似的东西?但我不确定它在哪里被调用。
我不是在寻找如何实现现有的钩子,而是要创建一种新型的钩子。假设钩子hook_node_load()
存在。我想创建类似的东西hook_node_preload()
,在加载节点之前触发。
我已经搜索过,似乎无法找出 Drupal 代码钩子在哪里被触发。我认为它是类似的东西module_invoke_all()
或类似的东西?但我不确定它在哪里被调用。
在整个 Drupal 过程中,Drupal 钩子在各处被触发。没有一个地方可以调用所有的钩子。
下面是 Drupal 核心中创建钩子的一些函数的列表:
http://api.drupal.org/api/drupal/includes%21module.inc/function/calls/module_invoke_all/7
在 的情况下hook_node_load()
,它是从位于includes/entity.inc的 entity.inc 文件中调用的,第 334 行。
foreach (module_implements($this->entityInfo['load hook']) as $module) {
call_user_func_array($module . '_' . $this->entityInfo['load hook'], $args);
}