Il se peut qu'au cours d'un projet, vous ayez besoin que votre implémentation de hook soit appelée après celle d'un autre module. C'est souvent le cas pour le hook_form_alter() par exemple.
Il y a plusieurs manières de contrôler l'ordre, notamment en modifiant le poids de votre module dans la table «system». La plus propre et pratique est d'utiliser le hook_module_implements_alter() via ce lien car :
- C'est un tableau contenant la liste des implémentations d'un hook
- Il contient le nom du hook actuellement appelé.
Exemple
Imaginons deux modules : module_a et module_b.
Tous les deux implémentent le hook_form_alter(). Si vous voulez être sûr que l'implémentation du module_b soit appelée après celle du module_a, vous pouvez utiliser ce code PHP :