跳转到主要内容
东方龙马 提交于 3 April 2009
钩子可以被看作是Drupal的内部事件,它们也被叫做“回调函数”。这里需要注意的是,由于它们是按照函数命名规范来构建的,而非真正的注册了一个监听器listener,所以它们不算真正意义上的“回调”。   设想,一个用户登录了你的Drupal网站。在用户登录的时候,Drupal会调用hook_user这个钩子。这也就意味着,所有函数,只要是按照了“模块名称_钩子名称”这样的命名规范进行命名的,都会被调用。例如,comment_user()这个函数位于comment模块中,locale_user()这个函数则位于locale模块中,node_user()处于node模块中,它们会统统的被调用。事实上所有实现了这个钩子的模块都会被调用。如果你想写一个自己定制的模块,比如叫spammy.module,并且包括了一个函数叫spammy_user(),这个函数的功能是给用户发一封email。这个spammy_user()方法同样会在用户登录时被调用,并且那个不幸的用户在每次登录时都会收到一封邮件。   在Drupal中,要想修改或覆盖Drupal的核心功能,最常见的方式就是在模块中实现相应的钩子。   Tip: 想了解更多关于Hooks的内容,请参见在线文档:http://api.drupal.org/api/6 。在Components of Drupal下,点击“Module system(Drupal hooks)”。

 

Taxonomy upgrade extras