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 :
<? 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 :
<? 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).
También he usado este ejemplo que encontré
Pero me pasa lo mismo que con el anterior
Código :
<!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 & 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 :
<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.
Mil y mil gracias.