Afficher une sidebar différente pour chaque page statique
Rédigé par jack le 5 commentairese
Voici une petite astuce pour afficher une sidebar différente pour chaque page statique.L'idée est d'avoir plusieurs fichiers sidebar avec un contenu et une mise en forme différente adaptés à chaque page statique. Voyons comment mettre en place ces fichiers et les utiliser. Imaginons que nous voulons trois sidebars différentes: il nous faut donc trois fichiers
- sidebar-1.php : sidebar correspondant à la page statique avec l'identifiant 001
- sidebar-2.php : sidebar correspondant à la page statique avec l'identifiant 002
- sidebar-3.php : sidebar correspondant à la page statique avec l'identifiant 003
Modifiez et adaptez ces fichiers en fonction de vos besoins.
Pour rappel, les pages statiques sont affichées grâce au fichier static.php, dans lequel l'instruction suivante permet d'afficher la sidebar (fichier sidebar.php)
include(dirname(__FILE__).'/sidebar.php');
Remplacez donc cette ligne par le code ci-dessous:
<?php
$sidebar = dirname(__FILE__).'/sidebar-'.$plxShow->staticId().'.php';
if(file_exists($sidebar))
include($sidebar);
else
include(dirname(__FILE__).'/sidebar.php');
?>
Nous utilisons ici la fonction staticId() de la classe plxShow (fichier core/lib/class.plx.show.php) qui renvoie la valeur numérique de l'identifiant de la page statique en cours de visualisation.Ainsi, lorsqu'on visualise la page statique avec l'identifiant 001, la fonction staticId() renvoie la valeur 1.
Ce que fait le nouveau code est de regarder si le fichier sidebar-1.php existe.
Si le fichier sidebar-1.php est présent alors on affiche le contenu du fichier sidebar-1.php
Sinon on affiche la sidebar par défaut, c'est à dire le fichier sidebar.php
Le principe est le même si on est sur la page 002 (sidebar-2.php) ou sur la page statique 003 (fichier sidebar-3.php). S'il n'y a pas de fichier sidebar dédié, c'est le fichier sidebar.php qui est utilisé.
Voilà vous pouvez donc préparer autant de fichier sidebar que nécessaire pour vos pages statiques.
Une autre méthode aurait été d'utiliser un template différent pour chaque page statique en y adaptant le contenu de la sidebar.
DClassé dans : PluXml ,Mots clés : Page statique, PluXml, Sidebar, Thème
A propos de l'auteur, jack:
Webmestre de PluXopolis de 2018 à Avril 2023.
5 commentaires
Il existe une autre astuce lorsqu'on ne veut pas afficher une sidebar différente sur toutes les pages statiques. Ce qui permet de véritablement personnaliser son site.
<?php
if ($_SERVER['REQUEST_URI'] == "/page1.html") {
include(dirname(__FILE__).'/sidebar2.php');
}
elseif ($_SERVER['REQUEST_URI'] == "/page2.html") {
include(dirname(__FILE__).'/sidebar2.php');
}
elseif ($_SERVER['REQUEST_URI'] == "/page3.html") {
include(dirname(__FILE__).'/sidebar2.php');
}
else { include(dirname(__FILE__).'/sidebar.php'); }
?>
Merci tout de même pour l'astuce ;)
cpalo a dit : #3
Bonjour
Est-ce qu'il serait possible d'étendre cette astuce aux catégories. C'est à dire une sidebar différente selon la catégorie affichée en utilisant catId ?
DanielSan a dit : #5
^^^ ça c'est de l'astuce élégante !
merci ;)
rFil RSS des commentaires de cet article
Les commentaires sont fermés.
P3ter a dit : #1