Traduction ...
Français
FrançaisEnglishGermanSpanishItalianPortugueseFinnishHindiJapaneseChinese (Simplified)ArabicThaiRussian
intro-btn1 intro-btn2 intro-btn3
Un CSS différent sur chaque page sans changer de template
By Patrick BESSE - See by 2128 visiteurs

Avec Joomla, il est possible d'affecter un template différent avec chaque page. Cette solution est efficace, mais reste assez lourde. En effet tous les fichiers du template sont multipliés et remplacés à chaque changement de page. Une simple modif sur un fichier CSS vous oblige à faire la même correction sur toutes les copies.


Pour un cas particulier je voulais seulement changer les couleurs dominantes de certaines pages tout en gardant le template principal et le CSS général.

J'y suis arrivé de cette façon :

Dans l'index.php de mon template juste aprés mon appel du fichier CSS principal, j'ai ajouté un bout de code afin de détecter la class CSS de la page et je ne garde que le sufixe de page.

Ensuite j'ouvre l'élément de menu correspondant par exemple à la page "rouge" et j'ajoute le suffixe css "_rouge". Idem pour les pages "_bleu" "_jaune" etc..


<?php
// selection des couleurs de pages
$menus     = &JSite::getMenu();
$menu       = $menus->getActive();
$pageclass = "";
 
if (is_object( $menu )) : 
$params = new JParameter( $menu->params );
$pageclass = str_replace('_','', $params->get( 'pageclass_sfx' ));
endif;
?> 
<link href="/templates//css/.css" rel="stylesheet" type="text/css" />


Le code ci-dessus détecte la class CSS de la page définie dans le menu, et charge le fichier CSS correspondant (rouge.css, bleu.css, jaune.css, etc.).

Last Updated on Wednesday, 08 December 2010 14:17
Articles recents
Articles les plus lus
Login
No Account Yet? Click here
   
   
Espace Téléchargement et Support
Ce téléchargement est réservé aux membres du service support.
Pour y accéder, vous devez acheter, ou renouveler, un produit avec abonnement au service support.