首页 / 帖子
hook_field_widget_xxx 是什么顺序执行的呢 从哪里可以知道呢

请教一下 比如说 hook_field_widget_form 参数里有很多的参数变量 怎么记得哪个是哪个呢 怎么理解这个事情 难道那些会写模块的都记住这些参数了吗?还有field widget 有好几个hook 那之间到底运行顺序如何排的呢 我们见到的都是一部分 只是写好和core system互动的函数 那我们也不知道core system到底是怎么处理的啊 怎么理解这个事情呢? 请教。

3个答案
老葛
发布于:2014-09-11 17:28

来分别回答这个问题:

Q:比如说 hook_field_widget_form 参数里有很多的参数变量 怎么记得哪个是哪个呢 怎么理解这个事情 难道那些会写模块的都记住这些参数了吗?

A:到api.drupal.org,搜索hook_field_widget_form,可以找到结果。

  https://api.drupal.org/api/drupal/modules%21field%21field.api.php/function/hook_field_widget_form/7

  就我个人而言,不会记住这些参数,用到的时候就到这个网站来查一下。

----------------

Q:还有field widget 有好几个hook 那之间到底运行顺序如何排的呢 我们见到的都是一部分 只是写好和core system互动的函数 那我们也不知道core system到底是怎么处理的啊 怎么理解这个事情呢?

A:执行顺序按照模块的weight来执行,可以在system表查看到。

Amanda Song
发布于:2014-09-11 19:59

第一个问题:用到时参考api文档即可,另一个方法是保存一些常用代码片段,一般你写过一次,再写就可以参考之前写的。


第二个问题:一般hook的使用只需要看文档和API即可,但你要弄明白执行顺序,则必须仔细研究一下相关的源代码。

老葛
发布于:2014-09-12 17:44

回答好 厉害呀