31,003
edits
mNo edit summary |
|||
| Line 4: | Line 4: | ||
= Le système de menu Dolibarr = | = Le système de menu Dolibarr = | ||
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. | 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 peut donc facilement imagine un gestionnaire de menu haut qui gèrerait tout avec des entrées de sous-menus par listes déroulantes et rien dans le menu gauche). Pour la suite, on appelera ces 2 systemes: "menu gauche" et "menu haut". | ||
Il est possible de développer votre propre gestionnaire de menu (gauche et/ou haut), qui remplacera complètement le menu par défaut. Vous décidez 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 fichir xml, sous-menu dans les sous répertoire de htdocs comme avec le menu '''rodolphe''', ...). Comme vous pouvez le voir, vous pouvez offrir un gestionnaire de menu avec le comportement dont vous avez besoin et la technologie que vous désirez.. | |||
= Changer le système de menu = | = Changer le système de menu = | ||
| Line 21: | Line 22: | ||
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''' == | |||
Il suffit de | |||
# Copier le fichier htdocs/includes/menus/barre_top/eldybackoffice.php sous un autre nom comme htdocs/includes/menus/barre_top/monmenu.php | # Copier le fichier htdocs/includes/menus/barre_top/eldybackoffice.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. | # 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. | ||
| Line 47: | Line 49: | ||
== Pour développer son '''système de menu gauche''' == | |||
Le principe est aussi simple que le menu haut. | |||
# Copier le fichier htdocs/includes/menus/barre_left/eldybackoffice.php sous un autre nom comme htdocs/includes/menus/barre_left/monmenu.php. | # Copier le fichier htdocs/includes/menus/barre_left/eldybackoffice.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. | # 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. | ||