Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 24-09-2009 09:48:29

Lopimp
Membre
Date d'inscription: 31-07-2009
Messages: 22

[zend_layout] appel d'une action d'un controleur dans le layout

Bonjour,

j'utilise un fichier layout.phtml qui est mon layout par défaut.

J'aimerai y inclure une loginbox (un formulaire , login, password submit pour se logguer au site).

Ce formulaire n'ets donc pas une simple vue à inclure, il me faut tout le process de l'action du controleur associé.

Comment peut-on donc faire un render immediat d'une action de controleur à la volée dans un layout?

Merci d'avance

Hors ligne

 

#2 24-09-2009 10:47:36

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: [zend_layout] appel d'une action d'un controleur dans le layout

avec le plugin ActionStack et les segments, ou bien alors via l'aide de vue 'action'.


----
Gruiiik !

Hors ligne

 

#3 24-09-2009 11:48:19

Lopimp
Membre
Date d'inscription: 31-07-2009
Messages: 22

Re: [zend_layout] appel d'une action d'un controleur dans le layout

merci,

quelqu'un pourrait donner un peu plus de détail la dessus?

Hors ligne

 

#4 25-09-2009 09:54:09

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [zend_layout] appel d'une action d'un controleur dans le layout

La doc ?
Sinon t'as un helper de vue action().

Une petite remarque, c'est pas très optimisé de mettre un process de login sur toutes tes pages.

Hors ligne

 

#5 26-09-2009 20:27:02

Lopimp
Membre
Date d'inscription: 31-07-2009
Messages: 22

Re: [zend_layout] appel d'une action d'un controleur dans le layout

merci je vais donc me renseigner la dessus (la doc d'actionStack j'ai lu mais j'ai pas trop saisi comment procéder pour faire ce que je voulais)

Quel est le problème à avoir une login box sur toutes les pages? Ca évite un click (sur un lien logez vous ici). Y'a des gens à qui ca suffit pour ne plus aller sur votre site

Hors ligne

 

#6 28-09-2009 10:17:10

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [zend_layout] appel d'une action d'un controleur dans le layout

Certes, mais entre mettre un formulaire de login, et tout le processus de login appelé sur chaque page...
Moi je fais plutot un block dans mon template qui soit si le gas est loggé, affiche un dashboard, soit affiche le formulaire de login.
Le formulaire de login pointe sur une action spécifique, qui n'est pas appelé depuis la layout. Elle n'effectue aucun rendu, mais met un message en session si login fail puis redirige sur la page précédente.
Après ça se discute.

Hors ligne

 

#7 28-09-2009 17:30:11

Lopimp
Membre
Date d'inscription: 31-07-2009
Messages: 22

Re: [zend_layout] appel d'une action d'un controleur dans le layout

Oui ok je vois.

Perso j'utilise (comme tu me l'as indiqué) le helper action qui appèle mon controlleur de display de ma login box, la première chose que fait ce controller est de tester si le gars est logé ou pas.

Si il est pas loggué ben process + formulaire si il l'est display de la view "dashboard"

je pense que ca revient au même alors non?

merci en tout cas pour les infos du helper

Hors ligne

 

#8 28-09-2009 18:14:29

Junk
Membre
Lieu: Paris
Date d'inscription: 18-09-2009
Messages: 27

Re: [zend_layout] appel d'une action d'un controleur dans le layout

Bonjour,

Je débarque un peu en pleine discussion big_smile

Mr.MoOx a écrit:

Certes, mais entre mettre un formulaire de login, et tout le processus de login appelé sur chaque page...

Je suis d'accord avec Mr.MoOx, et me demande d'ailleurs comment faire pour mettre un process de login sur chaque page  hmm ?

Pour ma part le process de login est dans une action de mon controller Login. Le formulaire de login est dans une classe Form_Login.

Dans mon header, je teste si une identité existe. Si oui, alors je récupère les infos du registre que j'ai mis lors de l'authentification et les affiche, sinon, j'instancie un formulaire Form_Login que j'affiche alors.

La méthode vous semble t elle correcte ou ai-je loupé un truc??

Merci d'avance pour vos remarques et commentaires wink

Hors ligne

 

#9 29-09-2009 08:58:35

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [zend_layout] appel d'une action d'un controleur dans le layout

Pour ma part le process de login est dans une action de mon controller Login. Le formulaire de login est dans une classe Form_Login.

Dans mon header, je teste si une identité existe. Si oui, alors je récupère les infos du registre que j'ai mis lors de l'authentification et les affiche, sinon, j'instancie un formulaire Form_Login que j'affiche alors.

Moi je fais comme ça.

Perso j'utilise (comme tu me l'as indiqué) le helper action qui appèle mon controlleur de display de ma login box, la première chose que fait ce controller est de tester si le gars est logé ou pas.

Si il est pas loggué ben process + formulaire si il l'est display de la view "dashboard"

je pense que ca revient au même alors non?

Tout dépends de la structure de ton code.
Mais en terme d'optimisation, entre faire un test sur l'identité, et afficher tel ou tel vue (via un plugin ou directement dans le layout), et directement faire appel à une action (via la pile ou le view helper), il y a surement une différence.

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages