Changes

Jump to navigation Jump to search
m
Line 12: Line 12:  
{{TemplateDocDev}}
 
{{TemplateDocDev}}
   −
= Le système de menu Dolibarr =
+
=Le système de menu Dolibarr=
   −
Il y a dans Dolibarr 2 systèmes de menu. Un système de menu défini les entrées de menu à afficher, conditions et localisation.
+
Il y a 2 systèmes de menu. Un système de menu défini les entrées de menu à afficher, conditions et localisation.
    
Changer de système de menu est possible via la page '''Configuration - Menus'''. Choisir ensuite '''Editeur de menus'''. Prendre par exemple les gestionnaires de menu "auguria", fournis en standard au lieu de "eldy". Ces gestionnaires de menu (gauche et haut) sont complètement opérationnels et offre la même vision mais en utilisant une technologie de stockage différente.
 
Changer de système de menu est possible via la page '''Configuration - Menus'''. Choisir ensuite '''Editeur de menus'''. Prendre par exemple les gestionnaires de menu "auguria", fournis en standard au lieu de "eldy". Ces gestionnaires de menu (gauche et haut) sont complètement opérationnels et offre la même vision mais en utilisant une technologie de stockage différente.
Line 20: Line 20:  
Pour personnaliser ces menus par défaut, vous pouvez, soit ajouter votre propre entrée menu, soit développer votre propre gestionnaire de menu qui remplacera complètement le gestionnaire par défaut. Vous décidez alors comment stocker votre menu (en base de données comme avec le gestionnaire de menu '''auguria''', centralisé en dur dans un fichier comme avec le gestionnaire de menu '''eldy''', dans un fichier xml, ...). Voir les chapitres suivant pour cela....
 
Pour personnaliser ces menus par défaut, vous pouvez, soit ajouter votre propre entrée menu, soit développer votre propre gestionnaire de menu qui remplacera complètement le gestionnaire par défaut. Vous décidez alors comment stocker votre menu (en base de données comme avec le gestionnaire de menu '''auguria''', centralisé en dur dans un fichier comme avec le gestionnaire de menu '''eldy''', dans un fichier xml, ...). Voir les chapitres suivant pour cela....
   −
= Ajouter votre entrée menu =
+
=Ajouter votre entrée menu=
 
Imaginez que vous vouliez ajouter une entrée menu. Allez dans '''Accueil - Configuration - Menus'''. Choisir '''Editeur de menu'''. Ajouter l'entrée.  
 
Imaginez que vous vouliez ajouter une entrée menu. Allez dans '''Accueil - Configuration - Menus'''. Choisir '''Editeur de menu'''. Ajouter l'entrée.  
   Line 29: Line 29:  
</div>
 
</div>
   −
= Développer son propre système de menu =
+
=Développer son propre système de menu=
    
Le but de cet article est de décrire comment créer un nouveau système de menu dans son intégralité (remplacement de l'intégralité des entrées menus, chamboulement complet du concept de navigation).
 
Le but de cet article est de décrire comment créer un nouveau système de menu dans son intégralité (remplacement de l'intégralité des entrées menus, chamboulement complet du concept de navigation).
Line 37: Line 37:  
Si vous voulez remplacer intégralement un systeme de menu par le votre, le plus simple est de prendre exemple sur le gestionnaire de menu "eldy_backoffice".
 
Si vous voulez remplacer intégralement un systeme de menu par le votre, le plus simple est de prendre exemple sur le gestionnaire de menu "eldy_backoffice".
   −
== Pour développer son '''système de menu haut''' ==
+
==Pour développer son '''système de menu haut'''==
 
Il suffit de
 
Il suffit de
# Copier le fichier htdocs/core/menus/standard/eldy_backoffice.php sous un autre nom comme htdocs/core/menus/standard/monmenu.php
+
 
# Editer ensuite le fichier monmenu.php. La fonction showmenu() de la classe MenuTop est la fonction appelée par Dolibarr lorsqu'il génère une page pour afficher ce menu haut. On peut y mettre le code que l'on veut, cette fonction ne modifie aucune variable extérieur et doit juste afficher par des "print" le menu que l'on veut voir. On peut ainsi récupérer le menu à afficher depuis un fichier de configuration, une base de donnée et le personnaliser par rapport à l'environnement. L'environnement Dolibarr étant stocké dans les 3 objets global suivant: $user, $conf, $langs.
+
#Copier le fichier htdocs/core/menus/standard/eldy_backoffice.php sous un autre nom comme htdocs/core/menus/standard/monmenu.php
 +
#Editer ensuite le fichier monmenu.php. La fonction showmenu() de la classe MenuTop est la fonction appelée par Dolibarr lorsqu'il génère une page pour afficher ce menu haut. On peut y mettre le code que l'on veut, cette fonction ne modifie aucune variable extérieur et doit juste afficher par des "print" le menu que l'on veut voir. On peut ainsi récupérer le menu à afficher depuis un fichier de configuration, une base de données et le personnaliser par rapport à l'environnement. L'environnement Dolibarr étant stocké dans les 3 objets global suivant: $user, $conf, $langs.
 +
 
 
  $user contient les informations propres à l'utilisateur.
 
  $user contient les informations propres à l'utilisateur.
 
  $conf contient les informations propres à la configuration (modules actifs, permissions actives, etc...)
 
  $conf contient les informations propres à la configuration (modules actifs, permissions actives, etc...)
Line 63: Line 65:  
</source>
 
</source>
   −
== Pour développer son '''système de menu gauche''' ==
+
==Pour développer son '''système de menu gauche'''==
 
Le principe est aussi simple que le menu haut.
 
Le principe est aussi simple que le menu haut.
# Copier le fichier htdocs/core/menus/standard/eldy_backoffice.php sous un autre nom comme htdocs/core/menus/standard/monmenu.php.
+
 
# Il faut ensuite modifier la fonction showmenu() de la classe MenuLeft afin de fabriquer son menu gauche. Si on veut afficher le menu standard ou juste le modifier légèrement sans recréer le sien complètement, il suffit de boucler sur le contenu du tableau $menu->liste. Si vous voulez afficher un menu complètement différent et totalement contrôlé par vous, il vous faut, dans la fonction showmenu(), créer un objet $newmenu=new Menu() et utiliser les méthodes $newmenu->add et $newmenu->add_submenu pour définir la liste des entrées menu gauche à faire apparaitre. Une fois cela fait, on affiche par des "print" le contenu du tableau $newmenu->liste (qui vient d'etre construit) au lieu de $menu->liste.
+
#Copier le fichier htdocs/core/menus/standard/eldy_backoffice.php sous un autre nom comme htdocs/core/menus/standard/monmenu.php.
 +
#Il faut ensuite modifier la fonction showmenu() de la classe MenuLeft afin de fabriquer son menu gauche. Si on veut afficher le menu standard ou juste le modifier légèrement sans recréer le sien complètement, il suffit de boucler sur le contenu du tableau $menu->liste. Si vous voulez afficher un menu complètement différent et totalement contrôlé par vous, il vous faut, dans la fonction showmenu(), créer un objet $newmenu=new Menu() et utiliser les méthodes $newmenu->add et $newmenu->add_submenu pour définir la liste des entrées menu gauche à faire apparaitre. Une fois cela fait, on affiche par des "print" le contenu du tableau $newmenu->liste (qui vient d’être construit) au lieu de $menu->liste.
    
Exemple de fichier htdocs/core/menus/standard/monmenu.php
 
Exemple de fichier htdocs/core/menus/standard/monmenu.php
Line 145: Line 148:  
</source>
 
</source>
   −
= Forcer l'utilisation de votre gestionnaire de menu =
+
=Forcer l'utilisation de votre gestionnaire de menu=
 
Vous pouvez aussi forcer l'utilisation de votre gestionnaire au dépend de tout autre en développant un module.
 
Vous pouvez aussi forcer l'utilisation de votre gestionnaire au dépend de tout autre en développant un module.
 
Pour cela, il suffit d'ajouter les 4 constantes suivantes dans le tableau $this->const de votre descripteur de module (Voir la page [[Développement module]]).
 
Pour cela, il suffit d'ajouter les 4 constantes suivantes dans le tableau $this->const de votre descripteur de module (Voir la page [[Développement module]]).
2

edits

Navigation menu