Petit module Dolibarr qui déplace les blocs Expéditions et Réceptions du menu latéral Produits vers le menu latéral Commercial, sans modifier le core de Dolibarr.
htdocs/custom/mgl/
├── core/modules/modMgl.class.php # descripteur du module
├── class/actions_mgl.class.php # hook menuLeftMenuItems
└── README.md
Les chemins respectent la convention de découverte de HookManager :
/<module>/class/actions_<module>.class.php avec la classe Actions<Module>.
- Le dossier
htdocs/custom/mgl/doit être présent (ce module). - Vérifier que
htdocs/custom/est bien activé danshtdocs/conf/conf.php:$dolibarr_main_url_root_alt='/custom'; $dolibarr_main_document_root_alt='C:/wamp64/www/dolibarr/htdocs/custom'; - Activer le module dans Accueil → Configuration → Modules/Applications (catégorie Interfaces, module Mgl).
Le module enregistre un hook menuLeftMenuItems (contexte main) qui :
- Sur
mainmenu == 'products': retire les items de niveau 0 dontleftmenuvautsendingsoureceptions, ainsi que tous leurs sous-items. - Sur
mainmenu == 'commercial': ajoute les mêmes blocs avec :- Expéditions à la position 250 (entre Commandes clients (200) et Demandes de prix fournisseurs (300)).
- Réceptions à la position 450 (entre Commandes fournisseurs (400) et Contrats (2000)).
Le tri par positionfull effectué par eldy.lib.php après le hook place
automatiquement les blocs au bon endroit dans la liste.
Désactiver le module via l'admin Dolibarr — les menus reprennent leur position d'origine immédiatement (rien n'est touché en BDD).
- Couvre uniquement le handler
eldy_menu.php(par défaut). Si tu changes pourauguria_menu.php, ce module continue de fonctionner car le hookmenuLeftMenuItemsest appelé dans les deux handlers. - Si un autre module surcharge le même hook avec
return 1, il y a risque de conflit (le dernier hook gagne pour la propriétéresArray).