[RESOLU] Afficher la page active dans un menu

Invité
Invité n'ayant pas de compte PHPfrance

18 sept. 2007, 04:11

Bonjour à tous,

Alors voilà je vous explique :
Je voudrai pouvoir laisser en "surbrillance" la rubrique du menu ou se trouve le visiteur

J'essai de mieux m'expliquer :Quand le visiteur clique sur un lien du menu (ou une rubrique), je voudrai que ce lien reste en surbrillance ou si c'est un onglet, qu'il reste ouvert pour indiquer au visiteur qu'il se trouve sur tel ou tel rubrique...

Voici un exemple avec ce site Developpez.com, dans cette exemple on est sur la categorie ou la page PHP

Merci

ViPHP
AB
ViPHP | 5818 Messages

18 sept. 2007, 05:03

Y'a de nombreuses façons pour faire ça mais la meilleure dépend de comment est fait ton site.

Si tes pages ont un nom différent tu peux utiliser la variable de serveur $_SERVER['REQUEST_URI']
et faire un truc du genre (pour des pages qui dans cet exemple se nomment prestations.php et photos.php)
<?php
function select($selec)
{
if (strpos($_SERVER['REQUEST_URI'],$selec)!==FALSE) echo ' id="select"'; 
}
?>
<head>
<style type="text/css">
#select a {
	text-decoration: overline;
	color:#FFFF99;
}
</style>
</head>
<body>
	<ul class="titre">
		<li<?php select('prestations')?>><a href="prestations.php">Prestations</a></li>
		<li<?php select('photos')?>><a href="photos.php">Photos</a></li>
        </ul>
</body> 
</html>
Dans mon exemple le menu de la page sélectionnée est surlignée avec color:#FFFF99;

Eléphant du PHP | 53 Messages

18 sept. 2007, 18:51

Slt,

En fait il va y avoir un template et donc je ne sais pas comment m'y prendre ???

Qui connait comment faire ?
www.theitalianblog.com tout pour Nokia Symbian

Eléphant du PHP | 53 Messages

22 sept. 2007, 01:26

je n'arrive pas avec ton systeme...
Tu es sur que ça fonctionne ?

Ce que je veux c'est que les boutons de la barre de menu soit differencier lorsqu'on se trouve sur le lien sur lequel il pointe.

Exemple :

Le menu contient :

| Acceuil | Download | News |

Si ont va sur la page Download il faut que le lien soit different par rapport aux autres :
| Acceuil | Download | News |

Le site est en php et je n'ai pas de frame et je n'en veux pas, a chaque fois qu'on cliques sur un liens la page complete change
www.theitalianblog.com tout pour Nokia Symbian

ViPHP
AB
ViPHP | 5818 Messages

22 sept. 2007, 04:43

Notes bien que la solution que je t'ai donnée n'est qu'une parmi tant d'autre, mais dans l'exemple que tu donnes elle doit pouvoir s'appliquer sans problème.

Je te ferai un exemple pour peu que tu me donnes le nom de fichier de tes pages Acceuil, Download et News.

Eléphant du PHP | 53 Messages

22 sept. 2007, 17:51

index.php, download.php, news.php

je desespere...
www.theitalianblog.com tout pour Nokia Symbian

ViPHP
AB
ViPHP | 5818 Messages

22 sept. 2007, 19:35

Si tu mets ce code dans chacune de tes pages index.php, download.php, et news.php ça devrait le faire
<?php
function select($selec)
{
if (strpos($_SERVER['REQUEST_URI'],$selec)!==FALSE) echo ' class="select"'; 
}
?>
<head>
<style type="text/css">
.select a {
	font-weight:bold;
    color: #0066CC;
}
.menu li {
	font-family:Arial, Helvetica, sans-serif;
	font-size:1em;
	font-weight:normal;
	color: #0066CC;
	display:inline;
	list-style-type:none;
	margin:0;
	padding:0;
	}
.menu a {
	text-decoration:none;
	}
</style>
</head>
<body>
    <ul class="menu">
        <li<?php select('index.php')?>><a href="index.php">| Acceuil</a></li>
        <li<?php select('download.php')?>><a href="download.php">| Download</a></li>
        <li<?php select('news.php')?>><a href="news.php">| News |</a></li>
        </ul>
</body> 
</html>
EDIT j'ai remplacé id=select par class=select au cas où ce menu serait répété plusieurs fois dans une même page
Modifié en dernier par AB le 22 sept. 2007, 21:05, modifié 1 fois.

Eléphant du PHP | 53 Messages

22 sept. 2007, 20:18

Slt,

Merci ça marche nickel... par contre j'ai une autre question mais je dois la poster dans une autre section : ici
Modifié en dernier par Joss850csi le 22 sept. 2007, 20:30, modifié 1 fois.
www.theitalianblog.com tout pour Nokia Symbian

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

22 sept. 2007, 20:28

Modération :
Puisque ta question est résolue, j'ajoute le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.

Tu peux réaliser cette opération toi-même
en cliquant sur le bouton Image qui s'affiche en haut à gauche de ce sujet
si tu as posté le 1er message en tant que membre (inscrit et identifié).

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute