Drupal:*.api.php 中的 hook_ 函数是否被调用过?

2021-12-29 00:00:00 php drupal drupal-modules drupal-hooks

在 Drupal 7 中,每个核心模块都有一个 *.api.php 文件,其中 * 是模块的名称.例如

In Drupal 7, every core module has a *.api.php file, where * is the name of the module. For example

modules/node/node.api.php
modules/path/path.api.php

这些文件有什么用?它们包含以 hook_ 开头的函数,以及(我认为)模块调用的钩子的名称.例如

What are these files for? They contain functions that start with hook_, and the name of a hook that (I think) the module invokes. For example

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 曾经被调用过.

There's an entity_view hook that's invoked by the system which you may implement in your own modules, but (it doesn't appear) that hook_entity_view is ever called.

这些函数是做什么用的.他们曾经被系统调用过吗?如果有,是什么时候?如果没有,他们为什么在那里?

What are these function for. Are they ever called by the system? If so, when? If not, why are they there?

推荐答案

不,这只是按模块描述钩子的文档文件.关于 hook_entity_view:您可以在自定义模块中添加它:YOURMODULENAME_entity_view(...).

Nope, it's just documentation files that describe hooks by modules. About hook_entity_view: you can add it in custom module: YOURMODULENAME_entity_view(...).

相关文章