|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Inscription : février 2010 Messages : 2 ![]() |
Bonjour,
Je viens à vous car j'ai un petit soucis de conception. Je suis en train de réaliser un site avec une optique de séparation du code et de l'affichage, se basant sur un modèle MVC. Smarty est donc en charge de ma composante vue. Dans mes controleurs (classes), j'assigne un certain nombre de données à Smarty, qui en gère l'affichage. Mes pages sont basées sur un template du type: -header -menu vertical -contenu -footer J'ai donc fragmenté ma page et la structure de mon template index est la suivante: Code Index.tpl.html :
Et voici mon menu.tpl.html: Code menu.tpl.html :
Ma problèmatique est la suivante: En lieu et place d' {$authentification}, est censé apparaître un formulaire de connexion, ou un lien permettant la déconnexion. Tout dépend, évidemment, de si la personne est connectée ou non, vous en conviendrez. Je cherche à permettre ce switch de manière propre. Au niveau du code PHP, le test est simple: Si pas connecté: affichage du formulaire de connexion Si connecté: affichage du lien de déconnexion Actuellement, voici les solutions que je vois mais qui ne me plaisent pas.
J'espère avoir été assez clair pour que vous puissiez me venir en aide. En vous remerciant, Noirvent[/list] |
||||
|
|
00
|
|
|
#2 | ||
|
Membre éprouvé
![]() Guillaume Développeur Web Inscription : décembre 2007 Messages : 353 ![]() |
Code :
__________________
Si ce que tu as à dire n'est pas plus beau que le silence, alors tais toi. - Pensez à voter pour les messages qui vous ont été utiles ainsi que de mettre
|
||
|
00
|
|
|
#3 | ||
|
Membre Expert
![]() ![]() ERIC POMMEREAUIngénieur intégration Inscription : décembre 2004 Messages : 683 ![]() |
Bonjour,
Regarde du côté de l'instruction fetch() qui te permet de traiter un fichier TPL et de récupérer le code produit. Donc ça pourrait donner : Code :
__________________
Eric POMMEREAU Articles : Smarty, JpGraph, Ajax YUI, IPython, Design patern strategy en PHP, Firebug Site : Antiquités du Marché des Ternes |
||
|
00
|
|
|
#4 | ||||||
|
Invité de passage
![]() Inscription : février 2010 Messages : 2 ![]() |
Merci bien sieur Eric, vous m’ôtez là une grande épine du pied. Effectivement, je n'avais pas pensé à cette utilisation du fetch, et pourtant, ça va grandement m'aider. =3
Actuellement, j'ai fais cela comme ça: Code :
Du coup, la meilleure solution serait-il de faire, par exemple: Un fichier template de base (ex. inscription.tpl.html) selon le schéma suivant: Code :
Code :
Code :
$this->vue->assign("$page_contenu", $this->vue->fetch("inscription.form.tpl.html")); (J'inclus pas le formulaire directement dans le premier Template simplement parce que je veux utiliser ce Template successivement pour afficher le règlement qui doit être accepté, puis ensuite afficher le formulaire, en utilisant la même structure à chaque fois.) Mais je me demande si du coup cette solution est la plus propre pour ce qui est l'affichage des formulaires. Car du coup, si je dois ajouter ou supprimer un champ, je dois non seulement modifier ma classe, mais du coup, aussi le Template.. *casse-tête* (ce qu'il me faudrait pouvoir faire, c'est une fonction qui génère la liste des champs(noms, types, label) dont j'ai besoin, la transmette à smarty sous forme de tableau ou d'objet, et que je laisse à smarty le soin d'y greffer le code html du formulaire :3 Ainsi, je pourrais réutiliser la fonction pour autre chose que l'inscription.. Mais peut-être est-ce se compliquer la vie ? |
||||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com