Aller au contenu

Lien actif


LA2L

Sujets conseillés

Bonjour à toute la communauté du Hub,

Ceci est mon premier post. Donc j'en profite pour vous dire Merci pour votre aide et vos conseils au quotidien.

Je ne suis pas une pro du php mais je "bidouille" comme on dit.

Donc voici mon problème :

C'est certainement tout bête mais je souhaiterai changer la couleur du lien appelé lorsque l'on se retrouve sur la page appelé.

La solution retenue pour éviter une usine à gaz et une remise en question de la structure du site est de faire passer le lien en actif via la css.

Pour ce faire il nous faut déclarer l'id de la balise body en fonction de la page appelée et changer le lien actif en fonction du body.

Et ensuite c'est la css qui se charge de mettre le lien en actif en fonction de l'id_body reconnu.

Donc on ne s'occupe que du body :

* placer ce code à la place de la balise body :

Code : PHP

<?
$requestedPage=$_SERVER["REQUEST_URI"];
$pageActive = substr("$pageActive", 1);
if (substr($requestedPage , $pageActive) =="index.php")
{
echo"<body id=\"home\">";
}
elseif (strstr($requestedPage , $pageActive) =="theatre.php")
{
echo"<body id=\"theatre\">";
}
elseif (strstr($requestedPage , $pageActive) =="expo.php")
{
echo"<body id=\"expo\">";
}
?>

Ce morceau de code très mal écrit ce met à la place du body et fait apparaitre tel ou tel id body en fonction de la rubrique appelée. Le truc étant de récupérer l'url de la page appelée.

Cela fonctionne partiellement :unsure:

C'est toujours le même body qui apparait...

Un pro du php serait-il dans les parages pour m'aider à résoudre cela ? :wub:

Voili voilou

Manu ^_^ "qui phpote comme une pleurote"

Lien vers le commentaire
Partager sur d’autres sites

Salut LA2l,

C'est certainement tout bête mais je souhaiterai changer la couleur du lien appelé lorsque l'on se retrouve sur la page appelé.

Oui mais pas besoin si t'as 3 pages de le charger dynamiquement par php, tu changes de style à chaque page c'est tout ...

Maintenant imaginons que ce sont des pages rewritées donc une seule page à charger dynamiquement, ton code est pas correct, utilise dejà le switch qu'est plus clair :

$pageActive = substr($_SERVER['REQUEST_URI'], 1);

switch($pageActive)
{
case "index.php" :
$style="home";
break;
case "theatre.php" :
$style="theatre";
break;
case "expo.php" :
$style="expo";
break;
default:
$style="home";
}

Mais bon, ta démarche me parait assez confuse ;)

Lien vers le commentaire
Partager sur d’autres sites

Merci Smile pour ta réponse.

Non j'ai plusieurs pages en fait. Mais celle-ci sont includées par switch dans la page globale : index.php

Donc je n'ai qu'un seul <body> pour l'ensemble de mes pages. Le menu est également includer dans cette page.

C'est pourquoi je souhaite renommer l'id du body en fonction de la page appelée.

Dans la page index.php :

si click vers page index.php alors <body id="home">
si click vers page theatre.php alors <body id="theatre">
si click vers page expo.php alors <body id="expo">

en fait les page theatre.php, expo.php etc... sont includées après mon menu global.

Voilà j'espère avoir été moins confuse. :wacko:

concernant ton code, je ne m'y retrouve pas avec la variable style. Je vais tacher de le décortiquer pour le comprendre.

Merci Smile pour l'aide apportée. :blush:

Manu ^_^ "phpote comme une pleurote"

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...