» Menu dynamique PHP

Rédigé par : Guillaume
Le : 31/08/2003 à 11:42
Hits : 24811
TéléchargerImprimer
Voici le Menu dynamique PHP, qui permet de structurer rapidement et simplement un menu pour votre site, les styles ont étés mis pour que ça ressemble quand même a quelque chose... mais vous pouvez les modifier, en ajouter (sous-menus par exemple) même ajouter des puces ou images...

Les liens des sous-menus représentent la $var i, vous pouvez très bien ajouter des noms de pages dans l'array ou bien placé un compteur dans le premier for et incrémenter au nombre de sous-menus. (Ex : 9 sous-menus ci-dessous...)

article_12.php
<?php
// ------------------------------------------------------------------------- //
// Menu dynamique PHP                                                        //
// ------------------------------------------------------------------------- //
// 31/08/2003 à 11h42 par Guillaume JIGUEL (guillaume@gphp.net)              //
// ------------------------------------------------------------------------- //
// http://www.gphp.net/articles,12.php                                        //
// ------------------------------------------------------------------------- //

// Configuration
// Nombre total de menus
$nbr 3;

// Ci-dessous lister vos menus en mettant le titre en premiere place dans le array, les autres seront les sous-menus...
$menu[1] = array ('Menu1',
'rub1',
'rub2',
'rub3'
);

$menu[2] = array ('Menu2',
'rub4',
'rub5',
'rub6'
);

$menu[3] = array ('Menu2',
'rub4',
'rub5',
'rub6'
);

// On définis le style des menus
$menu_tpl '<div style="border: 1px solid #000000; width: 100px; background-color: #CCCCFF; padding: 2px"><a href="{lien}">{element}</a></div>';

// On boucle pour afficher tout les menus
for ($i=1$i<=$nbr$i++) {
    
    
// On selectionne le nom du Menu
    
$element $menu$i ][0];
    
    
// On prevoit de refermer le menu en cliquant sur le lien (si menu ouvert)
    
if ($_GET['to'] == $i$lien 'menu.php';
    else 
$lien '?to='.$i;
    
    
// On applique le style
    
$in = array ('{element}''{lien}');
    
$out = array ($element$lien);
    
    
$menus str_replace ($in$out$menu_tpl);
    
    
// On affiche le Menu stylé
    
echo '<p>'.$menus.'</p>';
    
    
// Si les sous-menus sont demandés, on les affiche en fonction...
    
if (isset($_GET['to']) && $_GET['to'] != '') {
        
        
// On vérifie le N° de Menu demandé pour limiter à 1 affichage les sous menus...
        
if ($i == $_GET['to']) {
            
            
// On boucle les sous-menus en fonctions des elements de l'array correspondant.
            
for ($j=1$j<=count($menu$i ])-1$j++) {
                
                
// On affiche le lien des sous-menus
                
echo '> <a href="?to='.$i.'goto='.$j.' ">'.$menu$i ][ $j ].'</a><br />';
            
            }
        
        }
    
    }

}
?>

» Commentaires

Par berthet le 30/05/2005 à 12:05
Salut! ce menu est très pratique et très simple a modifier, sauf pour une chose: mettre des sous menus dans les sous menus. Quelqu'un pourrait il me dire comment faire svp.

Merci d'avance et bravo pour ce tuto.

Par berthet le 31/05/2005 à 09:17
c bon, g trouvé!!

Par frederic le 27/10/2005 à 00:01
bonjour, je debute en php et ce menu dynamique est le premier que j'arrive a utiliser dans ce qui sera mon futur site.Mais je bloque au niveau des liens.je veu utiliser les include [ exemple : if (isset($_GET["page"])) $page = $_GET["page"];
else $page = 0;

switch ($page) {
case 0 : include("acceuil.php"); break; ]
et donc je n'arrive pas a configurer les liens comme il faut :'( si quelqu'un pourait m'aider. j'esper que vous pourez m'aider.

Par DE CONINCK le 26/07/2006 à 08:55
Bonjour,

je ne comprends pas comment configurer les liens dans le menu.
Merci de m'aider

Par lekhlif le 29/01/2008 à 13:59
bjr,
g un prb ac les liens, qui peut svp me montrer cmt faire!!
en fait moi g utilisé les frames, et g mis le menu a gauche et je voudrais qu'une fois je clique sur mon sous menu ke ça m'envoit la page ds le frame a coté !!

Vous devez être connecté en tant que Membre pour pouvoir poster un commentaire, Inscrivez vous ici !