[Résolu] Cannot redeclare template_preprocess...

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Salut à tous,

je suis en train de créer un module qui aura pour effet de modifier certaines propriété du module book. J'essaie de faire un module totalement indépendant du module book, pour pallier aux problèmes des mises à jour de ce dernier, du changement de thème (je ne veux rien mettre dans le template.php du thème) et parce que je n'ai pas envie de faire un patch pour le module du core.
Mais voilà, j'ai besoin de modifier le link_path des liens de navigations présents sous les nodes du book. Pour cela, j'aurais besoin d'altérer la fonction template_preprocess_book_navigation présente dans le book.module. Seulement, je tourne en rond... aucun hook ne semble convenir...
La seule solution que j'ai trouvé pour l'instant est de réécrire la fonction de thème menu_item_link avec le hook_theme_registry_alter mais bonjour la stabilité du machin !
Qqn aurait-il une solution ?

Merci par avance,

Paul

Forum : 
Version de Drupal : 

Si tu veux altérer template_preprocess_book_navigation, il faut créer un module avec la fonction mon_module_preprocess_book_navigation (et non un fonction qui s'appelle exactement pareil).

Comme à mon habitude, je n'avais pas vidé entièrement les caches, c'est pourquoi lorsque j'avais testé mon_module_preprocess_book_navigation dans mon_module, ça n'avait pas fonctionné et j'étais passé à autre chose... Ta réponse m'a permis de retenter, et miracle, ça fonctionne. Merci bcp ;-) !

Paul