Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Drupal: Are hook_ functions in *.api.php ever called?

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

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

has

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

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?

like image 330
Alan Storm Avatar asked Feb 15 '11 01:02

Alan Storm


1 Answers

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(...).

like image 91
Nikit Avatar answered Sep 21 '22 06:09

Nikit