[Résolu] Passer une classe css spécifique à chaque page -
okoweb - 16/06/2012
Bonjour,
Je souhaite passer une classe spécifique à chaque page de manière à la styliler avec css. Exemple :
Code :
<!-- page index -->
<body class="index">
<!-- page contact-->
<body class="contact">
J'ai essayé ainsi sans succès
Code :
<body class="{content name='composition' label='Composition' online='true' wysiwyg='false'}">
Comment faire ?
En outre est-ce encore possible de faire ainsi dans le même gabarit ?
Code :
{content name='slider' label='Slider'}
{content name='slider2' label='Slider 2'}
Merci d'avance...
[Résolu] Passer une classe css spécifique à chaque page -
airelibre - 16/06/2012
Généralement pour cela j'utilise soit l'alias :
Code :
<body id="{$page_alias}">
Ou, si tu veux l'alias parent, avec CGSimpleSmarty :
Code :
<body id="{$cgsimple->get_root_alias()}">
Pour les {content} tu peux en créer autant que tu veux ! C'est tout l'intérêt
Vérifie dans Extensions / Balises si c'est "name" ou "block" qu'il faut utiliser
[Résolu] Passer une classe css spécifique à chaque page -
okoweb - 16/06/2012
airelibre a écrit :Ou, si tu veux l'alias parent, avec CGSimpleSmarty :
Code :
<body id="{$cgsimple->get_root_alias()}">
Comment ça s'utilise ?
airelibre a écrit :Pour les {content} tu peux en créer autant que tu veux ! C'est tout l'intérêt Vérifie dans Extensions / Balises si c'est "name" ou "block" qu'il faut utiliser
Code :
[== Indéfini ==]
{content block="second_content_block" label="Second Content Block"}
Et pour passer une class css à la page, est-ce ceci est faisable ?
Code :
<body class="{content block='composition' label='Composition' oneline='true' wysiwyg='false'}">
Merci d'avance...
[Résolu] Passer une classe css spécifique à chaque page -
jissey - 16/06/2012
Bonjour et bienvenue sur le forum,
une autre alternative est d'utiliser le champ extra1 (attribut supplémentaire de la page) qui est dans l'onglet option.
et de le récupérer :
Code :
[== HTML ==]
<body class="{page_attr key='extra1'}">
Il y a 3 champs de ce type.
Sinon, si tu as d'autres options à proposer pour tes pages, tu peux installer le module
advancedcontent qui permet de créer tes propres contenus comme des checkbox, des radio, des dropdown, ajouter des onglets...
[Résolu] Passer une classe css spécifique à chaque page -
airelibre - 18/06/2012
okoweb a écrit :airelibre a écrit :Ou, si tu veux l'alias parent, avec CGSimpleSmarty :
Code :
<body id="{$cgsimple->get_root_alias()}">
Comment ça s'utilise ?
> Il faut installer le module CGSimpleSmarty pour permettre cela
okoweb a écrit :airelibre a écrit :Pour les {content} tu peux en créer autant que tu veux ! C'est tout l'intérêt Vérifie dans Extensions / Balises si c'est "name" ou "block" qu'il faut utiliser
Code :
[== Indéfini ==]
{content block="second_content_block" label="Second Content Block"}
Et pour passer une class css à la page, est-ce ceci est faisable ?
Code :
<body class="{content block='composition' label='Composition' oneline='true' wysiwyg='false'}">
Merci d'avance...
Oui c'est possible. La première solution avec CGSimpleSmarty permet d'automatiser la création des IDs/Class. Mais tu peux bien sûr utiliser soit une nouvelle ligne de contenu comme tu le proposes, ou utiliser l'une des solutions de Jissey qui fonctionneront aussi.
Dis-nous si c'est ok ?