Answers:
挂钩的顺序是
{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()
。