Tema: Menu con php
Ver Mensaje Individual
  #4 (permalink)  
Antiguo 27/02/2008, 23:07
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Menu con php

Yo te sugeriría reemplazar ese bloque if($menu) {...} por una función recursiva, de tal manera que te permita incluir más niveles de submenúes y no tengas que repetir el código para imprimir links 2 veces

Código PHP:
$menu = array( 
    
"Inicio" => "index.php"
    
"enlace 2" => "algo.php"
    
"enlace 3" => "otra_cosa.php"
    
"Titulo subcategoria" => array( 
        
"subenlace 1" => "sub1.php"
        
"subenlace 2" => "sub2.php"
    ), 
    
"Hazte Socio" => "socio.php"
    
"Contactar" => "contacto.php"
    
"Foro"=>"foro.php" 
); 
 
function 
menu($menu) {
    
$str "<ul>\n"
    
$esta_pagina basename($_SERVER['SCRIPT_NAME']);
    foreach(
$menu as $title=>$url
    { 
        if(!
is_array($url)) 
        { 
            
$str.= "<li";
            if(
$esta_pagina == $url
            {
                
# Es la página actual, por lo que aplicamos la clase
                
$str.= " class=\"current\"";
            }
            
$str.= "><a href=\"$url\">$title</a></li>\n"
        } 
        else 
        { 
            
$str.= "<li>$title</li>\n"
            
$str.= "<li class=\"submenu\">\n"
            
$str.= menu($url); 
            
$str.= "</li>\n"
        } 
    } 
    
$str.= "</ul>\n"
    return 
$str;
}
 
echo 
menu($menu); 
En fin... es lo mismo.

Un saludo,