Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour à tous,
Je voulais savoir quel est le meilleur endroit dans la chaine MVC où placer la génération de mes menus (header/footer), sachant que cela nécessite :
- des accès à la BDD
- des infos sur l'utilisateur (et doit donc être forcément exécute après le/les controlleurs, dans le cas d'une page de login/logout).
- Un accès la vue pour instancier des valeurs.
ma méthode jusqu'à maintenant consistant à appeler un "menuController" grâce à un actionStack fait dans postDispatch de chaque contrôleur, seulement il semblerait que la vue ne soit plus disponible à ce moment là.
Comment faites-vous, dans vos projets ?
J'attends tous vos feedbacks avant de partir dans une solution bancale, sachant que le projet doit au final être très conséquent et j'aimerais tout implémenter comme il faut dès le début
Merci de vos retours.
Dernière modification par Eza (23-11-2008 21:06:12)
Hors ligne
Salut,
Je ne suis pas sur que ce soir la bonne solution mais voici comment je fait :
Dans mon layout de fait tout simplement :
<?php echo $this -> action("menu-principal", "index", "rubrique"); ?>
Pour l'affichage du formulaire de login j'utilise un autre layout
public function loginAction () { $this -> _helper -> layout() -> setLayout('formulairelogin'); }
J'avoue que je n'utilise pas les helpers de vue. J'ai tendance à appeler des actions...
Cordialement,
Kaimite
Hors ligne
Moi je mettrai plutôt ça dans un plugin (sachant que mon login ne se passe pas dans une action mais aussi dans un plugin).
Après un helper pour l'html menu et s'est réglé
Hors ligne
Comme Mr.MoOx :
- pour l'identification, moi, j'ai un plugin
- Pour le menu, j'ai un helper (on a accès à tous ce qu'il nous faut, la vue, Zend_Auth::getInstance()->getIdentity, la requète, ...)
Hors ligne
Action helper ou View Helper alors ?
Qu'est ce qui est le plus adapté ?
J'utilise Smarty comme système de vue, et pour moi, lorsque le rendu est en cours, il ne doit plus y avoir de requêtes à la base de données ou de traitements lourds (d'où ma volonté d'assigner des valeurs dans la vue avant, avec les informations sur mon membre par exemple).
- Avec une Aide de vue, c'est lors de la génération du template que je vais charger mon utilisateur non ? Est-ce génant ?
- Avec une aide d'action, est-ce que c'est plus adapté ? Comment l'executer à la toute fin, en ayant encore accès à la vue ?
Hors ligne