Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 01-12-2008 18:35:37

DarKA
Membre
Date d'inscription: 18-07-2007
Messages: 84

Zend Action View Helper et layout

Salut,
Mon problème porte sur le fait que quand l'on utilise un Action View Helper

Code:

 $this->action($action, $controller, $module = null, array $params = array())

celui si supplante le layout de l'action qui l'a appellé.

Ainsi si j'utilise un action 'action1' et un layout 'layout1', et que je fais appel à l'Action View Helper via echo $this->action d'un action 'action2' et layout 'layout2', l'on aurais pu penser que le $this->action génère le code et se contente de l'afficher, mais en fait il remplace le layout 'layout1' de 'action1' par le layout de 'layout2'.

Et donc, si je désactive le layout sur une action via

Code:

$this->_helper->layout->disableLayout();

et que je fais $this->action de cette action ci sur une page qui utilise un layout, le layout est désactivé partout.

Je pensais que cela marcherais comme un include amélioré mais que neni.

Y aurais t'il un moyen de contourner cela ?

Hors ligne

 

#2 01-12-2008 18:41:52

grandlap
Membre
Date d'inscription: 22-07-2008
Messages: 50

Re: Zend Action View Helper et layout

Salut,

il faut faire le disableLayout dans l'action que tu appelles et ça fonctionne

Hors ligne

 

#3 01-12-2008 19:18:23

DarKA
Membre
Date d'inscription: 18-07-2007
Messages: 84

Re: Zend Action View Helper et layout

Mais je veux garder le layout principal.

C'est dans l'action que "j'inclus" que je ne veux pas mettre le layout.

Pour moi question perfs, ca doit quand meme etre lourd d'appeller l'action avec le layout quand c'est un layout compliqué. Juste le code généré ce serais parfait !

Hors ligne

 

#4 02-12-2008 08:44:59

grandlap
Membre
Date d'inscription: 22-07-2008
Messages: 50

Re: Zend Action View Helper et layout

oui, je l'ai peut être mal dit mais c'est bien dans l'action que tu inclus qu'il faut faire disableLayout


dans ton controller

Code:

public function actionPrincipaleAction()
{
// l'action principale avec du code
}

public function actionIncluseAction()
{
$this->layout()->disableLayout();
}

et tes vues
action-incluse.phtml

Code:

<div>pouet</div>

action-principale.phtml

Code:

$this->action('action-incluse','moncontroller');

<div>toto</div>

Hors ligne

 

#5 13-12-2008 11:42:39

Cidrolin
Membre
Date d'inscription: 21-08-2008
Messages: 74

Re: Zend Action View Helper et layout

Salut, je suis confronté au même problème et ça ne fonctionne pas. Le contenu de la première action s'affiche bien, celui de la seconde aussi, mais pas avec le bon layout. Il force l'affichage par défaut "default", ce qui ne convient pas, puisque 2 lignes plus haut, j'ai fait : $this->_helper->layout()->setLayout('groumph');

La seule solution trouvée pour le moment est de passer le layout de l'action mère à l'action enfant, mais ce n'est guère très propre et très optimisé.

Dernière modification par Cidrolin (13-12-2008 12:59:22)

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