Foros del Web » Programando para Internet » PHP »

Marcar enlace de sección en que estoy

Estas en el tema de Marcar enlace de sección en que estoy en el foro de PHP en Foros del Web. Hola, estoy haciendo una libreria en php en la que he metido la lista li de enlaces (botonera) para que salga en todas las secciones ...
  #1 (permalink)  
Antiguo 01/04/2011, 02:15
El_Astur
Invitado
 
Mensajes: n/a
Puntos:
Marcar enlace de sección en que estoy

Hola,

estoy haciendo una libreria en php en la que he metido la lista li de enlaces (botonera) para que salga en todas las secciones y la pueda modificar desde la libreria.
¿Alguien sabría decirme cómo puedo hacer para que el li - botón - de la sección en la que estoy, salga con un color de fondo para que se vea bien donde me encuentro? Más que nada porque la lista la tengo en la libreria y vale para todas las secciones por igual, así que con un id o class de css no valdría creo yo.

Un saludo.
  #2 (permalink)  
Antiguo 01/04/2011, 03:21
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Marcar enlace de sección en que estoy

Definitivamente una clase de CSS te vendria bien, pero sin ver el codigo con el que armas el menu sera muy dificil sugerir algo coherente.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 01/04/2011, 03:55
El_Astur
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Marcar enlace de sección en que estoy

Buenas triby,

el código que tengo en la libreria php es éste (estoy aprendiendo y a lo mejor estoy metiendo la pata):

function botonera() //Botones superiores todas secciones excepto portada
{
?> <ul id="botonera">
<li class="coyuntura">
<a href="coyuntura.php"><img src="img/botonera/coyuntura.jpg" alt="coyuntura" width="186" height="40" />
<br/>COYUNTURA </a>
</li>
<li class="ocupaciones">
<a href="ocupaciones.php"><img src="img/botonera/ocupaciones.jpg" alt="ocupaciones" width="186" height="40" />
<br/>OCUPACIONES</a>
</li>
<li class="formacion">
<a href="formacion.php"><img src="img/botonera/formacion.jpg" alt="formacion" width="186" height="40" />
<br/>FORMACI&Oacute;N</a>
</li>
<li class="empleo">
<a href="empleo.php"><img src="img/botonera/empleo.jpg" alt="empleo" width="186" height="40" />
<br/>EMPLEO</a>
</li>
</ul>
<?


De este modo me sale la misma botonera en todos los archivos que conforman la página. Se puede hacer así y que salga el color de fondo distinto?
El código que he puesto en html es éste:
<?php botonera(); ?>

Es que si meto un class me saldría siempre en el mismo li el color de remarcado no? Y quiero que salga remarcado el li que corresponda a la seccion en la que estoy.
  #4 (permalink)  
Antiguo 01/04/2011, 05:26
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Marcar enlace de sección en que estoy

Prueba usando una matriz:

Código PHP:
Ver original
  1. <?php
  2. // Ejemplo: 'nombre-sin-espacios' => 'Título como debe aparecer'
  3. $botones = array(
  4.     'coyuntura' => 'COYUNTURA',
  5.     'ocupaciones' => 'OCUPACIONES',
  6.     // --- etc!
  7. );
  8.  
  9. // Y para crear el menu:
  10. ?>
  11. <ul id="botonera">
  12. <?php
  13. foreach($botones as $nombre => $texto) {
  14.     // Supongamos que creaste clases para los activos: coyuntura-activo
  15.     // Y que la funcion recibe un parametro $activo para saber en cual pagina estas
  16.     // Con asignacion ternaria puedes hacerlo mas facil
  17.     $class = ($activo == $nombre) ? '-activo' : '';
  18.     echo "<li class=\"$nombre$class\"><a href=\"{$nombre}.php\"><img src=\"img/botonera/{$nombre}.jpg\" alt=\"Enlace $texto\" /><br />\n$texto</a></li>\n";
  19. }
  20. ?>
  21. </ul>

Dudas?... por favor plantealas despues de intentar probar lo sugerido y de paso nos comentas el resultado.
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 06/04/2011, 07:23
El_Astur
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Marcar enlace de sección en que estoy

Lo voy a probar y comento.
  #6 (permalink)  
Antiguo 27/10/2011, 16:02
 
Fecha de Ingreso: septiembre-2011
Mensajes: 106
Antigüedad: 12 años, 6 meses
Puntos: 19
Respuesta: Marcar enlace de sección en que estoy

Llegue tarde pero tal vez le sirva a alguien , si no entendio bien lo que dijo Triby :

o si no puedes crear una variable que cambie segun a la seccion que estes ejemplo:

digamos que tengas un header.php un index.php y un footer.php, el header y el footer no cambian lo unico que cambia es tu index.php por otras secciones llamadas por ejemplo perfil.php, noticia.php etc...

Dentro de index.php creas una variable asi: $activo = 'home';

en el css añades un class .home {border-bottom:2px solid #000;}

y en tu header digamos que tengas un enlace asi:

<a href="www.midominio.com/index.php">Home</a>

ahora dentro imprimes el class asi:

<a href="www.midominio.com/index.php" class="<?php echo $activo ?>">Home</a>

Y listo en esa sección te marcara home

Etiquetas: enlace
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 16:42.