J’avais déjà eu des soucis avec l’intégration de mon thème dans un module externe ici:
Aujourd’hui je rencontre d’autres soucis :
Le premier n’est pas bloquant, mais je vous le partage pour savoir si vous auriez traité le sujet d’une autre manière :
Lorsqu’on sélectionne le thème qui est inclus dans un module. Alors si on décide de désactiver le module (par exemple pour recharger sa configuration suite à une mise à jour du fichier de classe du module, alors le thème n’existe plus pour Dolibarr, et plus aucun css n’est trouvé, ce qui affiche une page immonde.
Pour l’instant j’ai ajouté dans la fonction remove() du fichier de classe un code pour remettre le thème en eldy lorsque mon thème en question est activé au moment de la désactivation.
Le problème est du coup que ça me désactive mon thème à chaque fois que je désactive/réactive mon module.
Et je ne veux pas forcer mon thème sur le init() de mon module pour ne pas forcer les utilisateur à passer sur mon thème.
Mon second problème est plus pénible : La plupart des pictos sont des .png qui sont dans htdocs/public/theme/common ou htdocs/theme/common,
Mais d’autre comme le picto du calendrier qu’on a lorsqu’on crée une facture par exemple, alors l’image du picto est définie par htdocs/core/class/html.form.class.php par:
A mes yeux ce code fonctionnera bien si le thème en question est stocké dans htdocs/theme/monthemeactif.
Mais il ne peut pas fonctionner si le thème actif est dans: htdocs/custom/monmodule/theme/monthemeactif.
Bref voila, si d’autres ont essayé d’utiliser des thèmes dans un module, svp partagez vos retours.
J’ai l’impression que ce n’est pas une pratique courante et je me demande si je dois persévérer ou non.
Merci bcp !
Hello et merci beaucoup de t’intéresser à mon sujet !
En fait je ne veux pas changer de picto, en l’occurence ici je cherche simplement à charger un thème custom (qui est inclus dans un module custom), et ma compréhension est que dans le code dolibarr, ce ne soit pas vraiment prévu pour certains pictos qu’ils soient ailleurs que dans htdocs/theme/mytheme.
Par exemple quand on sélectionne eldy, tout va bien, le picto de calendrier qui est appelé par la page htdocs/facture/card.php (exemple : page nouvelle facture), va chercher l’image dans “/theme/eldy/img/object_calendarday.png” :
Mais si mon thème “Kontava” est inclus dans un module custom du même nom, il va chercher l’image dans : /theme/kontava/img/object_calendarday.png, au lieu d’aller dans /custome/kontava/theme/kontava/img/object_calendarday.png. Résultat j’ai ceci :
Ca vient du code (je pense) de /core/class/html.form.class.php :
qui n’est pas adapté à des thèmes inclus dans un module me semble t’il.
Après peut-être ai-je loupé qqch et qu’on peut dire dans un thème custo d’utiliser des fontawsome qqpart… Je cherche peut-être pas au bon endroit …
OK merci.
Mais je veux juste préciser que le bout de code cité n’est pas le mien mais celui du core de Dolibarr.
Je ne sais pas si j’ai été très clair du coup .
Je pense que mon problème reste entier néanmoins. Aujourd’hui la seule solution propre que j’imagine est de sortir mon thème du module externe, même si je trouve ça dommage car le peu qui est documenté là-dessus dit que c’est en théorie supporté…