Не получается поймать хук

Главные вкладки

Аватар пользователя maximturchenko maximturchenko 25 февраля 2022 в 12:48

Здравствуйте, подскажите, есть модуль например otherModule.

У него прописано в modules.php

<?php

otherModule_theme 

() {

'название_хука' => [
'variables' => $a,
]

}

// Реализация хука в модуле
otherModule_название_хука() {
 
// Все ок, это работает
}

?>

Есть другой модуль например myModule.

У него прописано в modules.php

<?php

// Пытаюсь переопределить хук из другого модуля, название_хука - из otherModule
myModule_название_хука() {
 
// Не видит ноль реакции
}

?>

Что то вообще не понимаю, preprocess_node и всякие такие простые хуки это понятно, но как между двумя самописными и в каком порядке они будут вызываться непонимаю.

Подскажите в хуками.

Ещё буду благодарен, если получится ответить на вопрос, почему может лагать сильно друпал, все молчит логи баз молчат,все ок, логи nginx молчат все ок, логи php тоже молчат ошибок нет, не понимаю.

Что нужно, чтобы переопределить хук, или работь с хуком из другого модуля, с теми данными с которыми есть у другого модуля, что он там заполнил, какие variables чтобы было в myModule?

Есть ли адекватные статьи, помимо того, что хук это подставление вместо hook названия модуля, а более
углубленное понимание как это все работает?

В core не хочется лезть самому ковыряться, очень много времени уходит, большой stack race. Может кто подскажет?

Комментарии

Аватар пользователя marassa marassa 25 февраля 2022 в 13:07

maximturchenko wrote: есть модуль например otherModule.

У него прописано в modules.php

А что такое modules.php? Это точно про девятку? И точно про Друпал?
В восьмерке/девятке хуки, предоставляемые контрибным модулем, (если они есть) прописаны в файле module_name.api.php