2011-02-15 67 views
7

在Drupal 7中,每個核心模塊都有一個*.api.php文件,其中*是模塊的名稱。例如Drupal:* .api.php中的hook_函數曾經被調用過嗎?

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', 
); 
} 

有是一個的,通過它可以在你自己的模塊實現,但(它不會出現),其hook_entity_view是有史以來稱爲系統調用的entity_view鉤。

這些功能是什麼。他們是否曾經被系統調用過?如果是這樣,何時?如果不是,他們爲什麼在那裏?

+0

剛花了一個小時試圖弄清楚他們是否曾經被稱爲。我應該先搜索網絡。 – Buzu 2017-12-24 23:05:02

回答

14

不,它只是描述模塊鉤子的文檔文件。 關於hook_entity_view:您可以將其添加到自定義模塊中:YOURMODULENAME_entity_view(...)。

+0

明白了。後續問題:爲什麼entity_view被視爲系統模塊的一部分?什麼使特定的鉤子(entity_view,node_insert)成爲特定模塊的一部分?它只是一個任意的分組,或者是否存在將特定的鉤子綁定到特定模塊的東西? – 2011-02-15 03:41:09

相關問題