Respostas:
Use em hook_module_implements_alter()
vez de alterar o peso do módulo.
Implementação de amostra de content_translation.module :
function content_translation_module_implements_alter(&$implementations, $hook) {
switch ($hook) {
// Move our hook_entity_type_alter() implementation to the end of the list.
case 'entity_type_alter':
$group = $implementations['content_translation'];
unset($implementations['content_translation']);
$implementations['content_translation'] = $group;
break;
// Move our hook_entity_bundle_info_alter() implementation to the top of the
// list, so that any other hook implementation can rely on bundles being
// correctly marked as translatable.
case 'entity_bundle_info_alter':
$group = $implementations['content_translation'];
$implementations = [
'content_translation' => $group,
] + $implementations;
break;
}
}
hook_module_implements_alter()
(realmente aconteceu comigo, acho que com um dos módulos i18n).
Há uma API para isso agora:
module_set_weight('your_module_name', 10);
Você também pode implementar o gancho como Ivan Jaros disse, o que permite um controle mais refinado (por exemplo, primeiro para um gancho, último para outro, depois de um módulo específico para o terceiro). Mas o peso do módulo também deve funcionar.
Se você usar configurações de importação / exportação, poderá alterar o peso do módulo no core.extension.yml
arquivo, número após o nome do módulo ser peso.
Você pode usar o módulo de peso Módulos :
Às vezes, precisamos modificar a ordem de execução dos módulos, e algumas pessoas podem escrever um código que execute a consulta para modificar o peso de um módulo na tabela do sistema, alguém pode ir direto para o seu cliente SQL favorito e modificar o registro diretamente. Este módulo fornece uma interface para reordenar o peso dos módulos.
Divulgação: Eu sou o mantenedor do módulo Modules Weight .