Changes

Jump to navigation Jump to search
Line 13: Line 13:  
== Développer son propre système de menu ==
 
== Développer son propre système de menu ==
   −
Le plus simple est de prendre exemple sur les gestionnaires de menu "Eldy".
+
Le plus simple est de prendre exemple sur les gestionnaires de menu "eldybackoffice".
* 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
+
* Pour développer son '''système de menu haut''', il suffit de
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.
+
# 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.
 
$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 26: Line 27:       −
* 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.
+
* Pour développer son '''système de menu gauche''', le principe est aussi simple.
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.
+
# 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.
    
Exemple de fichier htdocs/includes/menus/barre_left/monmenu.php
 
Exemple de fichier htdocs/includes/menus/barre_left/monmenu.php

Navigation menu