Messages : 5,034
Sujets : 63
Inscription : Oct 2009
Réputation :
0
Ben moi je dirais un js qui change quelques class bien ciblées lorsque l internaute clique.
{SEO}
Inscrivez-vous à notre Newsletter sur le site (colonne de droite, en bas).
Vous appréciez CMSMS et l'aide qui vous est fournie ici, aidez-nous en
participant au projet.
Formation CMS Made Simple |
Création de site CMS Made Simple.
C'est en se plantant qu'on devient cultivé.
J'ai un string dans l'Array (Paris Hilton)
Messages : 5,034
Sujets : 63
Inscription : Oct 2009
Réputation :
0
Avec une pointe d ajax : si
{SEO}
Inscrivez-vous à notre Newsletter sur le site (colonne de droite, en bas).
Vous appréciez CMSMS et l'aide qui vous est fournie ici, aidez-nous en
participant au projet.
Formation CMS Made Simple |
Création de site CMS Made Simple.
C'est en se plantant qu'on devient cultivé.
J'ai un string dans l'Array (Paris Hilton)
Messages : 196
Sujets : 7
Inscription : Feb 2013
Réputation :
0
Salut,
Voici la solution que j'utilise (nécessite CGSimpleSmarty) :
Dans l'entête (avant <html>) :
Code :
[== Smarty ==]
{if !$smarty.session.theme}
{session_put var="theme" value="normal"|base64_encode}
{elseif $smarty.get.theme}
{if $smarty.get.theme|base64_decode == "light" OR $smarty.get.theme|base64_decode == "dark" OR $smarty.get.theme|base64_decode == "normal"}
{session_put var="theme" value=$smarty.get.theme|base64_decode}
{/if}
{redirect_url to=$gCms->config.root_url|cat:$smarty.get.redirect|base64_decode}
{/if}
Ca permet de récupérer le nom du thème à appliquer (ici : normal, light, dark) et ça le chiffre en base64 pour éviter que dans l'URL des p'tits malins tentent d'autres choses :-) Puis ça enregistre dans une session la valeur (donc valable tout le long de la navigation et ça redirige vers la page d'où la sélection a été faite.
Dans mon <body> :
Code :
[== HTML / SMarty ==]
<body class="{if $smarty.session.theme}theme-{$smarty.session.theme}{/if}">
Là j'applique la classe CSS du thème qui correspond.
Et ensuite dans mon CSS, je mets en œuvre les styles dans ce genre là :
Code :
[== CSS ==]
.theme-normal {
color : #666;
background : #F5F5F5;
}
.theme-dark {
color : white ;
background : black ;
}
.theme-light{
color : black;
background : white;
}
Exacore - Freelance en communication