如何在drupal 6中创建自己的钩子?

时间:2012-05-13 08:03:51

标签: php drupal

drupal如何创建自己的钩子。同样,我想为自己定制一个钩子。我该怎么办?

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

如果你有一个通过引用传递参数的钩子,并且你不能使用drupal_alter(例如传递多个参数的presave钩子),你可以使用module_implements。

这样一个模块可以将它实现为modulename_foo_presave而不是modulename_presave_alter。当你想让模块在其生命周期的多个点上改变某些东西时,它是有益的。

对于drupal核心的示例,检查node_validate(drupal 7)的代码。

foreach (module_implements('node_validate') as $module) {
  $function = $module . '_node_validate';
  $function($node, $form, $form_state);
}

来自http://api.drupal.org/api/drupal/modules%21node%21node.module/function/node_validate/7

如果你想创建可以这种方式实现的钩子,那么在Drupal 6中使用相同的方法。