Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 07-07-2008 14:11:22

Bast
Membre
Date d'inscription: 07-06-2007
Messages: 138

Une alternative aux partial() ?

Bonjour,
je dispose d'une action très générique qui brasse un certain nombre de variables (récupérés par getParams() ).
Le rôle de cette action est de proposer des critères de recherche, et d'afficher des résultats en fonctions des critères déjà sélectionnés.
Les critères de recherches seraient affichés sous forme de menus (un en haut, un à gauche, en fonction du type de critère), et le résultat de recherche serait affiché dans l'espace principal, au centre.

J'avais pensé à utiliser le layout et des partial() (un partial par sous-menu = critère), mais je bute. Mes menus sont bien trop dynamiques, car leur affichage change en fonction de la page et des critères sélectionnés par l'utilisateur. Ca devient vite lourd de passer un tableau de variables en 3e paramètre du partial() :s

J'aimerais donc pouvoir dispatcher mon affichage dans tout un tas de petites vues, que mon action serait capable de remplir avec les résultats dont elle dispose.

S'il est possible de passer par autre chose que le layout, alors pourriez vous m'expliquer comment ?
N'est-il pas possible d'affecter un tableau de vues à l'action, au lieu d'une seule ? (par exemple, au lieu d'appeler $this->view, je pourrais appeler $this->view1, $this->view2, etc... )

Merci d'avance !

Hors ligne

 

#2 07-07-2008 19:33:34

2mx
Membre
Lieu: Grenoble
Date d'inscription: 06-08-2007
Messages: 125

Re: Une alternative aux partial() ?

Je ne suis pas sur de ce que tu veut faire exactement mais comme piste tu pourrait exploiter
Zend_Controller_Front::getInstance()->getRequest() dans tes partials ou utiliser Zend_Registry

A froid comme ça j'ai pas d'autre idées smile

Hors ligne

 

#3 08-07-2008 09:16:28

Bast
Membre
Date d'inscription: 07-06-2007
Messages: 138

Re: Une alternative aux partial() ?

Je voudrais agréger des vues qui seraient toutes appelées par une seule et même action.
Chaque vue ayant pour rôle de mettre en forme une partie des variables de vue.
Les paramètres de la requête ne sont qu'une partie des variables à rendre. Le getRequest() ne suffit donc pas. Sérialiser des gros tableaux de variables dans le registre, juste pour les rendre accessibles à plusieurs fichiers de vue.... mouaif...

Hors ligne

 

#4 08-07-2008 09:48:21

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

Re: Une alternative aux partial() ?

Faut utiliser les segments.
Ton action rend ce quelle veux dans les segments qu'elle veut, et dans ton layout, tu places tes segments


----
Gruiiik !

Hors ligne

 

#5 08-07-2008 10:56:18

Bast
Membre
Date d'inscription: 07-06-2007
Messages: 138

Re: Une alternative aux partial() ?

Et si dans ma vue principale je fais des

Code:

<?php echo $this->render('bloc/menu1.phtml') ; ?>

Les variables de vue suivront-elles ?

Car (je le répète pour nORKy) utiliser des segments dans le layout est une solution trop rigide.
Chaque sous menu doit pouvoir être dans n'importe quel ordre, et soit dans le menu du haut, soit celui de gauche (soit les deux), selon la page affichée, et les critères de recherche déjà sélectionnés. Par exemple, si un critère géographique est sélectionné, le sous menu géo doit passer de la gauche vers le menu haut, en remplaçant un autre sous menu du menu haut.

Hors ligne

 

#6 08-07-2008 11:48:26

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

Re: Une alternative aux partial() ?

Les segments ne sont pas rigides.
Tu décides de ce que tu veux enregistrés dans chaque segment
Admettons tu as dans ton layout les segments 'haut', 'gauche'.

Rien ne t'empèche dans ton action de rendre du code dans haut, un autre code dans gauche et du code dans les 2 smile

Tu as pleins de fonctions qui t'aident à remplir tes segments :
- appendBody($content, $name = null)
- append($name, $content)
- prepend($name, $content)
- insert($name, $content, $parent = null, $before = false)
- clearBody($name = null)

Tous ca dans l'objet reponse.


----
Gruiiik !

Hors ligne

 

#7 08-07-2008 15:02:24

2mx
Membre
Lieu: Grenoble
Date d'inscription: 06-08-2007
Messages: 125

Re: Une alternative aux partial() ?

Et les Placeholder Helper ça ne ferait pas l'affaire ?

http://framework.zend.com/manual/en/zen … laceholder

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