Foros del Web » Programando para Internet » PHP »

Conocer el item de un menú activo

Estas en el tema de Conocer el item de un menú activo en el foro de PHP en Foros del Web. Bueno tengo un menú (en una lista <ul><li></li></ul>), con varios enlaces, he visto muchos menús que te detectan el item activo (en mi caso dependiendo ...
  #1 (permalink)  
Antiguo 19/06/2011, 14:23
 
Fecha de Ingreso: julio-2009
Mensajes: 103
Antigüedad: 14 años, 8 meses
Puntos: 1
Pregunta Conocer el item de un menú activo

Bueno tengo un menú (en una lista <ul><li></li></ul>), con varios enlaces, he visto muchos menús que te detectan el item activo (en mi caso dependiendo de la página en que te encuentres) se me ocurre alguna forma de hacerlo pero no es muy "limpia".

Quería saber si alguien conoce algún método para hacer esto concreto o puede indicarme alguna referencia o algo que leer.

Gracias por todo, un saludo!
  #2 (permalink)  
Antiguo 19/06/2011, 15:47
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 1 mes
Puntos: 177
Respuesta: Conocer el item de un menú activo

mandar una variable por get por ejemplo si el link es Contacto mandarle v=contacto, y en Contacto recuperarla con un if , si v es = contacto entonces mostrar el link de distinto color
__________________
la la la
  #3 (permalink)  
Antiguo 19/06/2011, 16:09
 
Fecha de Ingreso: julio-2009
Mensajes: 103
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: Conocer el item de un menú activo

Gracias por contestar, no me sirve esa forma porque pensaba darle otro uso al get, además de que el archivo index no llevaría por defecto ningún parámetro. Me las he apañado con esto:

Estos serían los enlaces del menú. Tán sólo me cree la clase "active" y la añado si el archivo .php actual es igual a el item en cuestión.
Código PHP:
Ver original
  1. /*Hacer esto antes para evitar repetir la función si tienes un número alto de imágenes.*/
  2. <?php
  3. $vtemp = explode('/', $_SERVER['SCRIPT_NAME']);
  4. $archivo = array_pop($vtemp);
  5. ?>
  6.  
  7.                  <ul class="lista-superior left">
  8.                      <li><span><a <?php if($archivo=="index.php")echo "class=\"active\""; ?> href="index.php">Index</a></span></li>
  9.                      <li><span><a <?php if($archivo=="server.php")echo "class=\"active\""; ?> href="pagina2.php">Pagina2</a></span></li>
  10.                 </ul>

Clase .active:
Código CSS:
Ver original
  1. .active {
  2.     border-bottom: 3px solid #0071e5;
  3. }

Esto me funciona a dia de hoy perfectamente. Espero que le sirva a alguien.

Etiquetas: activo, item, menú
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 17:48.