Difference between revisions of "Système de menus"
Line 7: | Line 7: | ||
== Changer le système de menu == | == Changer le système de menu == | ||
− | Changer de système de menu est possible via la page Configuration - Interface. Prendre par exemple les gestionnaires de menu "Eldy", | + | Changer de système de menu est possible via la page Configuration - Interface. Prendre par exemple les gestionnaires de menu "Eldy", fournis en standard (Activer le gestionnaire du menu gauche Eldy en même temps que le gestionnaire du menu haut Eldy, les 2 étant conçus pour fonctionner ensemble). Ces gestionnaires de menu (gauche et haut) sont complètement opérationnels et offrent une alternative au menu par défaut. |
− | Grâce à ce mécanisme, si le système de menu "Par défaut" de Dolibarr ne vous convient pas, vous pouvez essayer les gestionnaires "Eldy". Et si cela ne vous convient toujours pas, rien ne vous | + | Grâce à ce mécanisme, si le système de menu "Par défaut" de Dolibarr ne vous convient pas, vous pouvez essayer les gestionnaires "Eldy". Et si cela ne vous convient toujours pas, rien ne vous empêche de développer le vôtre. Voir paragraphe suivant... |
== Développer son propre système de menu == | == Développer son propre système de menu == |
Revision as of 13:20, 25 September 2005
Il y a dans Dolibarr 2 systèmes de menu. Celui du haut et celui de gauche qui peuvent être dépendant l'un de l'autre ou non. On les appelera "menu gauche" et "menu haut". Par défaut, les gestionnaires de ces deux systèmes de menu apportent une approche d'un menu contextuel. Le menu gauche par exemple dépend des éléments métiers que l'on manipule. Cette approche diffère de celle, plus traditionnelle, des applis Windows où le menu déroulant dépend du chemin pris pour atteindre la fonctionnalité. Une sorte d'arbre dans laquelle on ne saute pas d'une branche en changeant de fonction, mais en remontant à la racine de l'arbre (exemple menu "Fichier") pour choisir ensuite la sous branche (exemple "Ouvrir"). Afin de contenter les 2 mondes (questions de choix, de goût ou d'habitudes), Dolibarr offre un système de menu modulaire. Il est en effet possible de développer son propre système de menu, à sa sauce, qui prend complètement l'ascendant sur le menu par défaut. L'autre avantage, pour le développeur, est que toute la logique du menu peut également être centralisée dans un seul et même fichier. Ceci permet d'offrir des systèmes de menu aux comportements complètement différents.
Changer de système de menu est possible via la page Configuration - Interface. Prendre par exemple les gestionnaires de menu "Eldy", fournis en standard (Activer le gestionnaire du menu gauche Eldy en même temps que le gestionnaire du menu haut Eldy, les 2 étant conçus pour fonctionner ensemble). Ces gestionnaires de menu (gauche et haut) sont complètement opérationnels et offrent une alternative au menu par défaut.
Grâce à ce mécanisme, si le système de menu "Par défaut" de Dolibarr ne vous convient pas, vous pouvez essayer les gestionnaires "Eldy". Et si cela ne vous convient toujours pas, rien ne vous empêche de développer le vôtre. Voir paragraphe suivant...
Le plus simple est de prendre exemple sur les gestionnaires de menu "Eldy".
- Pour développer son système de menu haut, il suffit de copier le fichier htdocs/includes/menus/barre_top/eldy.php sous un autre nom comme htdocs/includes/menus/barre_top/monmenu.php
Editer ensuite le fichier monmenu.php. La fonction showmenu() 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. $user contient les informations propres à l'utilisateur. $conf contient les informations propres à la configuration (modules actifs, permissions actives, etc...) $langs contient les informations propres à la langue active.
Exemple de fichier htdocs/includes/menus/barre_top/monmenu.php
en cours de redaction
- Pour développer son système de menu gauche, le principe est aussi simple. Copier le fichier htdocs/includes/menus/barre_left/eldy.php sous un autre nom comme htdocs/includes/menus/barre_left/monmenu.php.
Il faut ensuite modifier la fonction showmenu() 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, initialisé par Dolibarr "par défaut" grace au fichier pre.inc.php stocké dans le même répertoire que la page appelée. Si vous voulez afficher un menu complètement différent et totalement controlé par vous (et donc ignorer les fichiers pre.inc.php), 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. En fin de code, on affiche par des print le contenu du tableau $newmenu->liste (qui vient d'etre construit) au lieu de $menu->liste.
Exemple de fichier htdocs/includes/menus/barre_left/monmenu.php
en cours de redaction