Ответы:
Крючки называются в порядке
{system.weight}
. Меньшие веса приходят раньше в процессе вызова.По умолчанию модулям присваивается вес 0, поэтому почти все хуки в системе работают в алфавитном порядке. Некоторые модули будут корректировать это в своих установочных хуках, чтобы они запускались раньше или позже в module_invoke_all
функции.
См. Также: Регулировка веса модуля: каковы риски и на что обращать внимание?
По умолчанию вес модуля определяет его место в строке для выполнения функции hook_ *.
Вы можете изменить порядок реализации модулей по умолчанию с помощью hook_module_implements_alter . Небольшой пример можно найти в дальнейшем чтении этого учебника блога .
Из этого сообщения в блоге пример реализации:
function mymodule_module_implements_alter(&$module_list, $context){
if($context === "node_insert"){
$temp = $module_list['mymodule'];
// Removing the mymodule key/value
unset($module_list['mymodule']);
// Adding the mymodule key value as the last member in the list
$module_list['mymodule'] = $temp;
}
}
hook_module_implements_alter()
.