Bonjour à tous, je suis cake débutant ,et je souhaite mettre sur pied un système dans mon site qui permet à un utilisateur de choisir un template d'affichage pour son profile ou pour tous le site.
Ma solution à moi est de garder le choix du thème de l'utilisateur dans ses infos de profile ensuite de les mettre dans une session user que je lirai avant dans une beforeFilter de mon AppController tout en attribuant à mon $this->layout ='LeContenuSession';.Mais le problème ici est mon dossier view/Users, comment lui dire de changer de thème lui aussi sachant que dans une fichier index.ctp de ce dossier il y a la suite du code du thème choisi par l'utilisateur? Là encore j'ai prévu utiliser une inclusion de fichier situé dans un sous dossier du dosier view/Users/ . Donc si le user choisi le thème "montheme" dans le dossier User des views il y aura un sous dossier "montheme".
Ma question est de savoir s'il y a s'il vous plaît ,une façon plus simple et plus propre de mettre sur pied un tel système de multi- templating?

9 réponses


ker0x
Réponse acceptée

Cake embarque déjà une gestion des thèmes : http://book.cakephp.org/2.0/en/views/themes.html

Bonjour Karma13,

Quand tu parle de template différent, est-ce le CSS qui change simplement ? Ou vraiment le contenu ?
N'as tu pas moyen de gérer ça via un CSS ?

karma13
Auteur

supposons que sur le thème par défaut le menu de navigation est une barre surpérieur et que le thème que moi je souhaite avoir ne l'a pas mais a plutôt une side barre comme menu de navigation.La le css je pense n'y peut rien

Dans ce cas là, pourquoi ne pas te servir des Elements ?
Tu lis ta configuration en SESSION et en fonction tu met $this->Element('sidebar'); ?

Ca peut être une solution , propre ? Je sais pas, à confirmer.

karma13
Auteur

L'exemple de tout à l'heure était pour dire que le design d'un thème A à un thème B est carrement différent donc par du tout la même charte graphique,prenons par exemple de site ecommerce de produits de beauté et site d'ecommerce de produit informatique ou encore un site pour articles pour enfant.Donc très vite tu vas te rendra compte ici qu'il n'est plus simplement question de css ou d'éléments mais d'un thème tout entier

karma13
Auteur

ok merci je jette un coup d'oeil et je te dirai si ça résoud mon problème

karma13
Auteur

Merci beacoup GyZmO pour ton lien il répond à ma question rest maintenant à tester.
Merci encore à tout le monde

Bonsoir.
J'aimerais savoir pourquoi tu as mis le contenu de ton sujet dans une balise code, alors qu'il n'y a aucun code à l'intérieur.

karma13
Auteur

Je m'excuse ,il y a un formulaire en desous et je tape juste dedans et voilà le résultat