Réponses:
Il existe plusieurs façons d'ajouter du code CSS personnalisé à une page spécifique. Voici quelques alternatives:
Alt. 1 - Classe de
page Utilisez des classes de page. Dans l'éditeur d'élément de menu, sous l'onglet "Affichage de la page", il y a un champ appelé "Classe de page". Cela ajoutera une classe à votre <body>
balise (ou <div class="YOURCLASS">...</div>
autour de votre contenu), selon la configuration de votre modèle.
Ensuite, créez simplement une nouvelle règle dans le fichier CSS de votre modèle, en utilisant la classe que vous avez spécifiée.
Par exemple, ajoutez mycustomclass
au champ "Classe de page" dans votre élément de menu et mettez-le dans votre fichier CSS:
.mycustomclass p {font-color:red;} // Make text red on this particular page
Alt. 2 - Modules CSS personnalisés
Plusieurs modules sont disponibles à cet effet. Un exemple est Custom CSS , un module qui vous permet d'ajouter n'importe quel code CSS et de le publier sur les pages que vous souhaitez styliser.
Une option similaire est Custom HTML Advanced , un module qui vous permet d'ajouter du HTML, du JavaScript et du CSS à vos pages. Le code peut être ajouté <head>
automatiquement à la balise.
Alt 3. - charger une feuille de style CSS supplémentaire
Une autre alternative consiste à vérifier l'ID d'élément de menu actuel dans le index.php
fichier de votre modèle et à charger une autre feuille de style CSS si nécessaire:
<?php
$currentMenuId = JSite::getMenu()->getActive()->id ;
if ($currentMenuId == "14") {
echo '<link rel="stylesheet" type="text/css" href="mystyle.css">';
}
?>
L'une de mes approches préférées consiste à créer des classes dynamiques pour l'élément body.
Donc:
<?php
$app = JFactory::getApplication();
$menu = $app->getMenu();
$active = $menu->getActive();
$class = $active->alias . " pageid-" . $active->id;
?>
<body class="<?php echo $class; ?>">
Voici quelques exemples de ce que le code ci-dessus produira:
Page d'accueil:
<body class="home pageid-13">
Page sur nous:
<body class="about-us pageid-15">
Vous pouvez maintenant créer des styles spécifiques personnalisés par page, en utilisant les classes ci-dessus.
C'est une autre méthode pour faire la même chose.
Va au-dessus du doctype:
<?php
$app = JFactory::getApplication();
$menu = $app->getMenu()->getActive();
$pageclass = '';
if (is_object($menu))
$pageclass = $menu->params->get('pageclass_sfx');
?>
Va dans votre index où votre classe de corps est:
<body id="<?php echo $pageclass ? htmlspecialchars($pageclass) : 'default'; ?>">
Maintenant, tout ce que vous ajoutez dans la classe de page de l'élément de menu apparaîtra dans l'ID du corps. Tout élément de menu sans classe sera automatiquement body id = "default".
Vous pouvez également essayer avec cette extension d'attribuer différentes feuilles de style à vos éléments de menu: http://extensions.joomla.org/extensions/extension/style-a-design/templating/css2switch-basic
Cordialement.