Foros del Web » Programando para Internet » PHP »

Menu + clase current

Estas en el tema de Menu + clase current en el foro de PHP en Foros del Web. Saludos, de nuevo yo... Tengo un menú, y con CSS le he añadido una clase current para que me cambie el color del vínculo activo. ...
  #1 (permalink)  
Antiguo 27/01/2008, 14:18
Avatar de lucasan
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: Cali - Colombia
Mensajes: 1.144
Antigüedad: 16 años, 10 meses
Puntos: 59
Menu + clase current

Saludos, de nuevo yo...

Tengo un menú, y con CSS le he añadido una clase current para que me cambie el color del vínculo activo.

Funciona perfecto http://demicali.com/vento pero es solo una muestra, el final lo he hecho asi: (conservando el CSS)

header.php (donde está tambien el menu)

page.php

footer.php

Incluyo el header y el footer en cada página y listo, todo bien hasta ahora.

Ahora viene la cuestión, he revisado los manuales que me encontré (php) para que la clase current me funcione, y nada. dejo el código del ejemplo que estoy usando actualmente:

Código PHP:
<?
function get_navigation($page) {
    
$page str_replace('.php'''$page);

    
$nav = array(
        
"<a href='index.php'>Home</a>",
        
"<a href='company.php'>Company</a>",
        
"<a href='category.php'>Products</a>"
    
);

    echo 
"<ul class=\"solidblockmenu\">";
    foreach (
$nav as $link) {
        echo 
"<li";
            if (
preg_match("/($page)/i"$link)) {
                echo 
" class=\"current\"";
            }
        echo 
">$link</li> \n";
    }
    echo 
"</ul>";

}
?>
Y luego llamo la función

Código PHP:
<? get_navigation(basename($_SERVER['SCRIPT_FILENAME'])); ?>
El menú se muestra correctamente, los links están correctos, lo que no me funciona es la clase current.

El CSS está bien (funciona en el html normal).

Agradezco a quien pueda ayudarme, y a quienes se tomen la molestia de leer el post completo (está como larguito no?)
__________________
Plan Original Desarrollo Web
~$>sudo apt-get install -f
"Asi debería arreglarse todo en la vida"

Última edición por lucasan; 27/01/2008 a las 14:23
  #2 (permalink)  
Antiguo 27/01/2008, 15:21
Avatar de lucasan
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: Cali - Colombia
Mensajes: 1.144
Antigüedad: 16 años, 10 meses
Puntos: 59
Re: Menu + clase current

Alguien por favor...
__________________
Plan Original Desarrollo Web
~$>sudo apt-get install -f
"Asi debería arreglarse todo en la vida"
  #3 (permalink)  
Antiguo 27/01/2008, 15:35
Avatar de lucasan
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: Cali - Colombia
Mensajes: 1.144
Antigüedad: 16 años, 10 meses
Puntos: 59
Re: Menu + clase current

Estoy usando este otro ejemplo, y tampoco me sirve, sucede lo mismo que cito arriba.

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php $thisPage="Home"?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Vento Acoustic :: Sound &amp; Lightning Products Company <?php if ($thisPage!="")
  echo 
" | $thisPage"?></title>
<link href="home.css" rel="stylesheet" type="text/css" />

<!--[if IE]>
<style type="text/css">
p.iepara{ /*Conditional CSS- For IE (inc IE7), create 1em spacing between menu and paragraph that follows*/
padding-top: 1em;
}
</style>
<![endif]-->

</head>

<body>

<div id="contenedor">

 <div id="header">
   <div id="logo"><a href="index.html"><img src="imagenes/logo.jpg" border="0" /></a></div>
   <div id="animderecha"><script src="incluir.js" type="text/javascript"></script></div>
   <br class="borrarfloat" />
 </div>
   
   <?php
    
include("menu.php");
    
?>
y el archivo menu.php

Código PHP:
  <ul class="solidblockmenu">
    <li<?php if ($thisPage=="Home"
      echo 
" class=\"current\""?>>
      <a href="index.php">Home</a></li>
    <li<?php if ($thisPage=="About Us"
      echo 
" class=\"current\""?>>
      <a href="company.php">Company</a></li>
    <li<?php if ($thisPage=="Our Products"
      echo 
" class=\"current\""?>>
      <a href="category.php">Products</a></li>
  </ul>
Alguien que me pueda dar una mano por favor.
__________________
Plan Original Desarrollo Web
~$>sudo apt-get install -f
"Asi debería arreglarse todo en la vida"
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 00:17.