Foros del Web » Programando para Internet » PHP »

ayuda con un menu css

Estas en el tema de ayuda con un menu css en el foro de PHP en Foros del Web. hola a todos, miren yo tengo una pagina en donde uso en header.php y un footer.php para carga todo el contendido de mis pagina.alli esta ...
  #1 (permalink)  
Antiguo 03/06/2004, 10:32
Avatar de xplorador  
Fecha de Ingreso: enero-2002
Ubicación: Peru
Mensajes: 105
Antigüedad: 15 años, 11 meses
Puntos: 0
ayuda con un menu css

hola a todos, miren yo tengo una pagina en donde uso en header.php y un footer.php para carga todo el contendido de mis pagina.alli esta definido el style.
entyonces yo quiero incluir un menu similar a este:
http://css.maxdesign.com.au/listamatic/horizontal15.htm
cuyo codigo es :
Código:
<div id="navcontainer">
<ul id="navlist">
<li id="active"><a href="#" id="current">link1</a></li>
<li><a href="#">link2</a></li>
<li><a href="#">link3 three</a></li>
</ul>
</div>
entonces el problema que tengo es como hago para cambiar el id="active" cuando estoy en el link2 y por ejemplo si llamo al link3 entonces el id="active" debe estar apuntando a el.
La pregunta es como hago ese cambio del id="active" .
Gracias

pd.En el foro de CSS me dijeron que usa algo en php por eso estoy posteando aqui.
__________________
Adictoshp.org
  #2 (permalink)  
Antiguo 03/06/2004, 11:01
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Desde PHP puedes obtener el nombre del script en curso .. tipo:

$_SERVER['PHP_SELF']

Con la función basename() puedes quedarte sólo con el nombre del scritp (página) .. y así componer tu "condicional" (IF ) para "componer" tu CSS adecuado ..


Algo tipo:

Código PHP:
<?
$link
=basename($_SEVER['PHP_SELF']);
?>
<div id="navcontainer">
<ul id="navlist">
<?
if ($link=="link1.php"){
    echo 
"<li id=\"active\"><a href=\"link1.php\" id=\"current\">link1</a></li>";
} else {
    echo 
"<li><a href=\"#\">link2</a></li>";
}

// y así con todos los casos (links) que tengas ..
?>
</ul>
</div>
Un saludo,

Última edición por Cluster; 03/06/2004 a las 11:03
  #3 (permalink)  
Antiguo 03/06/2004, 12:16
Avatar de xplorador  
Fecha de Ingreso: enero-2002
Ubicación: Peru
Mensajes: 105
Antigüedad: 15 años, 11 meses
Puntos: 0
gracias, por la respuesta e estado probando pero tengo problemas ya que mis conocimientos en php son muy basicos.
estuve probando con el codigo que me proporcionaste me funciona pero no hace el cambio me arroja todo sin el class es decir que pone tyodo lo que lo indica el else.

NO entendi esto:
$link=basename($_SEVER['PHP_SELF']);
dime esto saca los links que tengo o que.

tambien te comento que en mi pagina tengo una variable que es $xoops_pagetitle y no se si pued usarlo par hacer la condicional.
algo asi:
Código PHP:
<? 
if ($xoops_pagetitle=="articulos"){ 
    echo 
"<li id=\"active\"><a href=\"link1.php\" id=\"current\">link1</a></li>"
} else { 
    echo 
"<li><a href=\"#\">link2</a></li>"


// y así con todos los casos (links) que tengas .. 
?>
hum con eso me sigue mostrando todo loque el else indica, es decir me arroja los links sin el atrivuto Id=active.

MI sitio esta hecho con el CMS www.xoops.org y la plantilla que define el diseño es theme.html y alli dentro de puede usar php con la etiqueta <{php}> para el php y para probar puse esto, haber si estoy mal decidme:

Código PHP:
<TABLE cellPadding=0 cellSpacing=0 id=navtable width="100%">
        <
TBODY>
        <
TR>
          <
TD>
<{
php}>
$link=basename($_SEVER['PHP_SELF']); 
<{/
php}> 

<
div id="navcontainer">
<
ul id="navlist">
<{
php}>
if (
$link=="http://ciberespia.adictoshp.org/modules/news/index.php"){ 
    echo 
"<li id=\"active\"><a href=\"http://ciberespia.adictoshp.org/modules/news\" id=\"current\">Inicio</a></li>"
} else { 
    echo 
"<li><a href=\"http://ciberespia.adictoshp.org//modules/news\">Inicio</a></li>"

if (
$link=="http://ciberespia.adictoshp.org/modules/humorpolitico/index.php"){ 
    echo 
"<li id=\"active\"><a href=\"http://ciberespia.adictoshp.org/modules/humorpolitico\" id=\"current\">humor Politico</a></li>"
} else { 
    echo 
"<li><a href=\"http://ciberespia.adictoshp.org/modules/humorpolitico\">humor politico</a></li>"

if (
$link=="link1.php"){ 
    echo 
"<li id=\"active\"><a href=\"link1.php\" id=\"current\">link3</a></li>"
} else { 
    echo 
"<li><a href=\"#\">link2</a></li>"

if (
$link=="link2.php"){ 
    echo 
"<li id=\"active\"><a href=\"link1.php\" id=\"current\">link4</a></li>"
} else { 
    echo 
"<li><a href=\"#\">link2</a></li>"

if (
$link=="link3.php"){ 
    echo 
"<li id=\"active\"><a href=\"link1.php\" id=\"current\">link5</a></li>"
} else { 
    echo 
"<li><a href=\"#\">link2</a></li>"

<{/
php}> 
</
ul
</
div

</
TD>
                    
        
                  <!-- 
fin menu -->  
                 
          
          </
TR></TBODY></TABLE

esto pdoria servir como informacion
__________________
Adictoshp.org

Última edición por xplorador; 03/06/2004 a las 12:35
  #4 (permalink)  
Antiguo 03/06/2004, 13:12
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Si haces un echo a $link .. veras la ruta que te arroja .. el "basename()" (si vistas www.php.net/basename .. ) te devuelve el nombre del archivo que contenga una ruta dada (ya lo comenté en mi anterior mensaje) y .. el "PHP_SELF" devuelve el nombre del script que se está ejecutando en ese momento.

Observa que es lo que te devuelve $link (echo $link;) .. y en función de eso es lo que tendras que aplicar en tu "if()" ...

Un saludo,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:09.