Afficher page active dans le menu

Mammouth du PHP | 620 Messages

24 déc. 2009, 10:31

bonjour,
je viens vers vous pour avoir votre avis sur mon menu. Afin d'appliquer un style diffèrent sur le lien de la page active je fait un test sur la page qui est ouvert et si elle est égale au lien que je lui donne alors j'affiche ce style (fond de couleur différent). Sa permet a l'internaute de savoir dans quelle page il se trouve et au niveau visuelle c'est plus sympa.

Mon menu fonctionne très bien mais je voudrais savoir si on peut simplifier ?
<ul id='menu'>
    <?php 
    if ($_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] == 'mondomaine.fr/index.php')
    	{ 
    	?>
        <li class="active"><a href='../index.php' title="Accueil" >Accueil</a></li>
        <?php
    	}
    else { 
    	?>
		<li><a href='../index.php' title="Accueil" >Accueil</a></li>
		<?php
		}
		?>
        
    	<li><img src="../images/structure/etoile.png" alt="etoile" /></li>
        
        <?php 
    if ($_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] == 'mondomaine.fr/pages/chambres.php')
    	{ 
    	?>
        <li class="active"><a href='../pages/chambres.php' title="Les chambres" >Les chambres</a></li>
        <?php
    	}
    else { 
    	?>
		<li><a href='../pages/chambres.php' title="Les chambres" >Les chambres</a></li>
		<?php
		}
		?>
....
...
...



ViPHP
ViPHP | 1996 Messages

24 déc. 2009, 11:27

Assez simplement :
<ul id='menu'>
<?php
$class_active = ($_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] == 'mondomaine.fr/index.php') ? 'class="active"' : '';
?>
<li <?php echo $class_active; ?> ><a href='../index.php' title="Accueil" >Accueil</a></li>
<li><img src="../images/structure/etoile.png" alt="etoile" /></li>
<?php
$class_active = ($_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] == 'mondomaine.fr/pages/chambres.php') ?  'class="active"' : '';
?>
<li <?php echo $class_active; ?>><a href='../pages/chambres.php' title="Les chambres" >Les chambres</a></li>
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr