在Drupal 7中,每个核心模块都有一个* .api.PHP文件,其中*是模块的名称.例如
modules/node/node.api.PHP modules/path/path.api.PHP
这些文件是为了什么?它们包含以hook_开头的函数,以及(我认为)模块调用的钩子的名称.例如
modules/system/system.api
具有
function hook_entity_view($entity,$type,$view_mode,$langcode) { $entity->content['my_additional_field'] = array( '#markup' => $additional_field,'#weight' => 10,'#theme' => 'mymodule_my_additional_field',); }
有一个由系统调用的entity_view钩子,您可以在自己的模块中实现,但是(看起来不会)调用hook_entity_view.
这些功能是什么?它们是否曾被系统调用过?如果是的话,何时?如果没有,为什么他们在那里?
不,它只是描述模块钩子的文档文件. 关于hook_entity_view:您可以在自定义模块中添加它:YOURMODULENAME_entity_view(…).