Foros del Web » Programando para Internet » PHP »

Otorgar un estilo dinamico con include php

Estas en el tema de Otorgar un estilo dinamico con include php en el foro de PHP en Foros del Web. Hola amigos del foro! Tengo una duda, estoy utilizando la funcion de php "include" para incluir header y menu en mis sitios, pero tengo un ...
  #1 (permalink)  
Antiguo 15/01/2012, 15:18
 
Fecha de Ingreso: septiembre-2009
Mensajes: 30
Antigüedad: 14 años, 8 meses
Puntos: 0
Otorgar un estilo dinamico con include php

Hola amigos del foro!
Tengo una duda, estoy utilizando la funcion de php "include" para incluir header y menu en mis sitios, pero tengo un problema....necesito atribuirle un estilo css diferente a las secciones del menu para indicar en que seccion del sitio estoy, o sea, destacar uno por sobre el resto de acuerdo a la seccion en que me encuentro.

Pero al hacerlo con la funcion "include" no logro marcar cada seccion en particular, de que manera puedo hacerlos dinamico... o sea que el php detecte en que seccion estoy y le atribuya el estilo especifico para destacar la seccion.

algo asi:

Código HTML:
<!DOCTYPE HTML>
<html> 
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title></title>

</head>
<body >

<ul>
	<li>Home</li>
	<li><span class="seleccionado">Nosotros</span></li> 
	<li>Productos</li>
	<li>Galeria</li>
	<li>Contacto</li>
</ul>


</body>
</html>


Les estare muy agradecidos si logran darme una mano!
Saludos!
ricardo
  #2 (permalink)  
Antiguo 15/01/2012, 15:37
Avatar de KoswiDigital  
Fecha de Ingreso: abril-2011
Ubicación: Galicia - España
Mensajes: 220
Antigüedad: 13 años
Puntos: 37
Respuesta: Otorgar un estilo dinamico con include php

Es sencillo, un ejemplo:

En php localizas la página en la que estás y la asignas a una variable. Luego con un switch les das un orden para utilizar luego la clase css en el menú o donde sea.

Código PHP:
Ver original
  1. $dir = $_SERVER['PHP_SELF'];
  2.  
  3.     switch( $dir )
  4.     {
  5.         case '/index.php':
  6.             $sel = 1;
  7.             break;
  8.         case '/libros/index.php':
  9.             $sel = 2;
  10.             break;
  11.         case '/revistas/index.php':
  12.             $sel = 3;
  13.             break;
  14.         case '/comics/index.php':
  15.             $sel = 4;
  16.             break;
  17.         case '/contacto.php':
  18.             $sel = 5;
  19.             break;
  20.        
  21.         default: $sel = null;
  22.     }
  23.  
  24.     $clase = 'class="selected" ';

y (en este caso) el menú:

Código HTML:
Ver original
  1. <ul id="nav">
  2.           <li><a <?php if( $sel == 1 ) echo $clase; ?>href="/">Inicio</a></li>
  3.           <li><a <?php if( $sel == 2 ) echo $clase; ?>href="/libros/">Libros</a></li>
  4.           <li><a <?php if( $sel == 3 ) echo $clase; ?>href="/revistas/">Revistas</a></li>
  5.           <li><a <?php if( $sel == 4 ) echo $clase; ?>href="/comics/">Cómics</a></li>
  6.           <li><a <?php if( $sel == 5 ) echo $clase; ?>href="/contacto.php">Contacto</a></li>
  7.         </ul>


Si tienes submenús recuerda que puedes agrupar más de una opción en el switch:

Código PHP:
Ver original
  1. case '/revistas/index.php':
  2. case '/revistas/manga/index.php':
  3.     $sel = 3;
  4.     break;


Un saludo.
__________________
http://www.koswidigital.com - Diseño web, Programación web, Fotografía profesional, Retoque digital.
  #3 (permalink)  
Antiguo 16/02/2012, 22:02
 
Fecha de Ingreso: septiembre-2009
Mensajes: 30
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Otorgar un estilo dinamico con include php

Hola KoswiDigital!!
estuve intentando pero no logro hacer funcionar el codigo que me pasaste....me tira error de sintaxis, seguramente sea yo el que esta haciendo mal las cosas....
te adjunto un zip para que puedas chequearlo.

http://www.fileserve.com/file/uExBDXT/php_dinamico.rar

Mil gracias!
R

Etiquetas: dinamico, estilo, include
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 23:41.