Messages : 1,975
Sujets : 81
Inscription : Jan 2009
Réputation :
0
Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: 1.11.7
#~ Url du site :
#~ Hébergeur / Soft :
#~ Informations Système :
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~
Bonjour,
Dans le cadre d'un développement de site, il m'est demandé de pouvoir sélectionner via un bouton un "mode" qui permettrait d'adapter le site et de fournir une version "améliorée" du template. Soit un simple affichage en noir sur blanc ou l'inverse. Ce sont semble-t-il des règles du RGAA.
Je me tourne donc vers la communauté pour savoir si certains parmi vous ont déjà été confrontés à ce type de demande et comment ils ont solutionné la problématique (le choix de l'utilisateur devant être persisté).
Merci pour vos retours,
Heriquet
www.web-ep.be - Développeur Web Freelance - Développeur/Intégrateur CMS Made Simple (création de sites, développement de modules/plugins/templates sur mesure), spécialisé dans les sites pour l'immobilier.
Messages : 1,975
Sujets : 81
Inscription : Jan 2009
Réputation :
0
Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: 1.11.7
#~ Url du site :
#~ Hébergeur / Soft :
#~ Informations Système :
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~
Bonjour,
Dans le cadre d'un développement de site, il m'est demandé de pouvoir sélectionner via un bouton un "mode" qui permettrait d'adapter le site et de fournir une version "améliorée" du template. Soit un simple affichage en noir sur blanc ou l'inverse. Ce sont semble-t-il des règles du RGAA.
Je me tourne donc vers la communauté pour savoir si certains parmi vous ont déjà été confrontés à ce type de demande et comment ils ont solutionné la problématique (le choix de l'utilisateur devant être persisté).
Merci pour vos retours,
Heriquet
www.web-ep.be - Développeur Web Freelance - Développeur/Intégrateur CMS Made Simple (création de sites, développement de modules/plugins/templates sur mesure), spécialisé dans les sites pour l'immobilier.
Messages : 10,864
Sujets : 164
Inscription : Dec 2008
Réputation :
0
de tête je te dirais ceci :
dans ton gabarit tu fait un {if}{else}{/if} qui appel deux type de feuilles de style (N/B normal)
tu fait un bouton dans ton design qui appel tes pages avec un paramètre POST (ex : RGAA=true/false)
tu fait une UDT en haut de ton gabarit qui sera chargée de capter cette valeur et mettre un équivalent en session (session php j'entend)
ton if repose sur la condition de la valeur enregistrée dans ta session
Messages : 10,864
Sujets : 164
Inscription : Dec 2008
Réputation :
0
de tête je te dirais ceci :
dans ton gabarit tu fait un {if}{else}{/if} qui appel deux type de feuilles de style (N/B normal)
tu fait un bouton dans ton design qui appel tes pages avec un paramètre POST (ex : RGAA=true/false)
tu fait une UDT en haut de ton gabarit qui sera chargée de capter cette valeur et mettre un équivalent en session (session php j'entend)
ton if repose sur la condition de la valeur enregistrée dans ta session
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.
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.
Messages : 10,864
Sujets : 164
Inscription : Dec 2008
Réputation :
0
le Js ne permet pas de gérer la navigation du client sur plusieurs pages d'affilés sans recliquer
Messages : 10,864
Sujets : 164
Inscription : Dec 2008
Réputation :
0
le Js ne permet pas de gérer la navigation du client sur plusieurs pages d'affilés sans recliquer
Messages : 5,034
Sujets : 63
Inscription : Oct 2009
Réputation :
0
Avec une pointe d ajax : si
Messages : 5,034
Sujets : 63
Inscription : Oct 2009
Réputation :
0
Avec une pointe d ajax : si
Messages : 1,975
Sujets : 81
Inscription : Jan 2009
Réputation :
0
Merci pour vos réponses !
jce76350 a écrit :Pourquoi ne pas faire le site complet conforme aux règles RGAA
La réponse est simple j'ai reçu un cahier des charges ainsi qu'une deadline très serrée et je dois m'y conformer .
Pour l'implémentation, je pensais également à la session. Mon idée est de faire un petit module qui fournit d'une part le moyen de passer le site dans ce mode, et d'autre part qui appelle une CSS "en plus" quand le mode "accessibilité" est activé (histoire d'écraser certaines valeurs).
Ce module à mettre dans la forge serait une base pour de futures implémentations plus avancées mais pour commencer j'ai juste besoin du minimum demandé par mon client.
www.web-ep.be - Développeur Web Freelance - Développeur/Intégrateur CMS Made Simple (création de sites, développement de modules/plugins/templates sur mesure), spécialisé dans les sites pour l'immobilier.
Messages : 1,975
Sujets : 81
Inscription : Jan 2009
Réputation :
0
Merci pour vos réponses !
jce76350 a écrit :Pourquoi ne pas faire le site complet conforme aux règles RGAA
La réponse est simple j'ai reçu un cahier des charges ainsi qu'une deadline très serrée et je dois m'y conformer .
Pour l'implémentation, je pensais également à la session. Mon idée est de faire un petit module qui fournit d'une part le moyen de passer le site dans ce mode, et d'autre part qui appelle une CSS "en plus" quand le mode "accessibilité" est activé (histoire d'écraser certaines valeurs).
Ce module à mettre dans la forge serait une base pour de futures implémentations plus avancées mais pour commencer j'ai juste besoin du minimum demandé par mon client.
www.web-ep.be - Développeur Web Freelance - Développeur/Intégrateur CMS Made Simple (création de sites, développement de modules/plugins/templates sur mesure), spécialisé dans les sites pour l'immobilier.
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
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
|