Я не дивлюсь, як це зробити реалізувати існуючий гачок, а скоріше для створення нового тип гака. Скажімо, гачок hook_node_load()
існує. Я хочу створити щось подібне hook_node_preload()
, що запускається перед завантаженням вузла.
Я "шукав і, здається, не можу дізнатися, куди в коді Друпалу стріляють гачки. Я припускаю, що це щось на кшталт module_invoke_all()
чи щось подібне? Але я не впевнений, куди це закликано.
Відповіді:
2 для відповіді № 1Друпальські гачки стріляють всюди, протягом усього процесу Друпалу. Немає одного місця, яке викликає всі гачки.
Нижче наведено список деяких функцій з ядра Drupal, які створюють гачки:
http://api.drupal.org/api/drupal/includes%21module.inc/function/calls/module_invoke_all/7
У випадку hook_node_load()
, він викликається з файла entit.inc, розташованого за адресою включає / сутність.inc, у рядку 334.
foreach (module_implements($this->entityInfo["load hook"]) as $module) {
call_user_func_array($module . "_" . $this->entityInfo["load hook"], $args);
}