Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

Implémentation des règles RGAA
#8

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
Répondre


Messages dans ce sujet

Atteindre :


Utilisateur(s) parcourant ce sujet : 2 visiteur(s)