- Nom du dossier :
peppolpeppyrus(SANS tiret) - Classe du module :
modPeppolpeppyrus - Fichier :
core/modules/modPeppolpeppyrus.class.php - Classe actions :
ActionsPeppolpeppyrus - Fichier actions :
class/actions_peppolpeppyrus.class.php
⚠️ Dolibarr cherche les hooks dans/$module/class/actions_$module.class.phpLe nom du dossier DOIT correspondre au nom du module en minuscules.
Toujours utiliser :
$conf->peppolpeppyrus->enabled$user->rights->peppolpeppyrus->...restrictedArea($user, 'peppolpeppyrus')peppol@peppolpeppyrus(pour les fichiers de langue)/peppolpeppyrus/...(pour les chemins)
❌ NE JAMAIS utiliser :
peppol-peppyrus(avec tiret)$conf->peppol->peppol@peppol
Les clés du module doivent être :
ModulePeppolpeppyrusNameModulePeppolpeppyrusDesc
cd /data/docker/dolibarr/data/custom
zip -r module_peppolpeppyrus-X.Y.Z.zip peppolpeppyrus -x "peppolpeppyrus/.git/*"
⚠️ Le nom du fichier ZIP doit correspondre au nom du dossier ! Dolibarr vérifie que le ZIP contient un dossier nommé comme le module.
peppolpeppyrus/
├── class/
│ ├── actions_peppolpeppyrus.class.php ← Hook class
│ ├── peppol.class.php
│ └── ...
├── core/
│ └── modules/
│ └── modPeppolpeppyrus.class.php ← Module descriptor
├── langs/
│ ├── en_US/peppol.lang
│ ├── fr_FR/peppol.lang
│ └── ...
├── admin/
│ └── setup.php
├── search.php
└── ...
- Repository :
cedric-marcoux/dolibarr_peppol-peppyrus - Fichier ZIP :
module_peppolpeppyrus-2.0.0.zip - Tag :
v2.0.0
Le module doit être extrait dans :
/htdocs/custom/peppolpeppyrus/(installation manuelle)- Ou via "Déployer un module externe" dans Dolibarr
Cause : Le dossier s'appelait peppol-peppyrus mais la classe ActionsPeppolpeppyrus
Solution : Renommer le dossier en peppolpeppyrus
Cause : restrictedArea($user, 'peppol') au lieu de peppolpeppyrus
Solution : Corriger toutes les références de permissions
Cause : enabled='$conf->peppol->enabled' dans la DB
Solution : Mettre à jour en $conf->peppolpeppyrus->enabled
Cause : Fichier contenait class modPeppol au lieu de class modPeppolpeppyrus
Solution : Corriger le nom de la classe
Cause : Nom du ZIP module_peppol-peppyrus-2.0.0.zip mais dossier peppolpeppyrus
Solution : Nommer le ZIP module_peppolpeppyrus-2.0.0.zip