Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 16-11-2011 19:39:34

booradley
Membre
Date d'inscription: 10-01-2009
Messages: 163

[zf2.0.0beta1] : view helper 'action'

Les view helpers d'action n'existent plus

index.phtml:
Code:

//echo $this->action('guest','index','application');
$action = $this->plugin('action',array('guest','index','application'));
echo $action;

Message: Class Zend\View\Helper\Action does not exist

Je viens de lire une contribution disant que Matthiew préconise d'utiliser un _forward dans le controller et de rendre le résultat dans la vue.

http://zend-framework-community.634137. … 88353.html

J'aime pas du tout car j'ai l'impression de rajouter du couplage dans le code mais bon, s'il y a pas le choix...
J'imagine qu'il y a une bonne raison a cela.

Hors ligne

 

#2 29-11-2011 12:19:35

booradley
Membre
Date d'inscription: 10-01-2009
Messages: 163

Re: [zf2.0.0beta1] : view helper 'action'

J'ai eu confirmation de jurians sur l'IRC.
Le plus simple est de remplacer les view helpers d'action par le plugin forward.
Voici comment l'utiliser:
http://packages.zendframework.com/docs/ … ns.forward

Hors ligne

 

#3 29-11-2011 19:18:57

booradley
Membre
Date d'inscription: 10-01-2009
Messages: 163

Re: [zf2.0.0beta1] : view helper 'action'

Mais maintenant ce qui craint c'est que lorsqu'on récupère le code html généré par ce dispatch(), on a aussi le layout intégré dedans.

Code:

$derniersTemoignages = $this->forward()->dispatch('temoignage-temoignage', array('action' => 'liste'));

Mais pour le moment la désactivation du layout (ni de la vue d'ailleurs) ne sont pas encore implémentés dans zf2.

Dernière modification par booradley (29-11-2011 19:19:44)

Hors ligne

 

#4 29-11-2011 21:00:01

bakura
Administrateur
Date d'inscription: 30-01-2010
Messages: 353

Re: [zf2.0.0beta1] : view helper 'action'

T'as sûrement moyen de la jouer hardcore en lançant un évènement que tu interceptes dans le ViewListener et ou tu désactives le rendu du layout :vrai_mec: big_smile.

Hors ligne

 

#5 29-11-2011 22:00:48

booradley
Membre
Date d'inscription: 10-01-2009
Messages: 163

Re: [zf2.0.0beta1] : view helper 'action'

oui il m'a dit de créer un autre listener qu'on appelle avant  Listener.php et dans lequel on peut le faire.
Bien que j'ai rien pané a son charabia, j'ai fait "Good Idea man !"
Bref je vais essayer de rentrer un peu dans le code car le Listener et les Events c'est encore plus mystérieux que le container de DI ! lol
Je vais m'y mettre.

Mais déjà il faut que je trouve la méthode qui permet de désactiver ce layout.
++

Dernière modification par booradley (30-11-2011 13:17:40)

Hors ligne

 

#6 30-11-2011 14:01:59

booradley
Membre
Date d'inscription: 10-01-2009
Messages: 163

Re: [zf2.0.0beta1] : view helper 'action'

J'ai modifié la méthode renderLayout() du Listener.php:

Code:

$layout   = $this->view->render($this->layout, $vars);
if($this->view->layout()->isEnabled()) {
$response->setContent($layout);
} else {
$response->setContent($vars['content']);            
}

Mais ca métonnerait bcp que la solution soit aussi simple lol

Bref ca fonctionne dans une action simple.

Code:

$this->getLocator()->get('view')->layout()->disableLayout();

Mais dès qu'on inclue des plugins forward à l'action courante qui font appel à des actions sans layout, le layout global est aussi désactivé.

Code:

$monbloc = $this->forward()->dispatch('moncontroller', array('action' => 'uneactionsanslayout')); // => désactive le layout global

Hors ligne

 

#7 06-12-2011 16:19:31

booradley
Membre
Date d'inscription: 10-01-2009
Messages: 163

Re: [zf2.0.0beta1] : view helper 'action'

J'ai remonté ce bug a Matthew:
http://framework.zend.com/issues/browse/ZF2-111
Il dit que personne n'avait encore testé ce truc là lol

Hors ligne

 

#8 06-12-2011 17:09:32

bakura
Administrateur
Date d'inscription: 30-01-2010
Messages: 353

Re: [zf2.0.0beta1] : view helper 'action'

Tant mieux, faut continuer à remonter des bugs comme ça ;-).

Hors ligne

 

#9 06-12-2011 17:21:27

booradley
Membre
Date d'inscription: 10-01-2009
Messages: 163

Re: [zf2.0.0beta1] : view helper 'action'

Oui les mecs c'est des tueurs, ils sont a fond sur l'architecture, les design patterns, l'abstraction mais j'ai l'impression que ca les amuse pas tous de tester des trucs basiques et de faire du debug.
En tant que développeur c'est vrai que les tests et le debug c'est pas le plus marrant.
C'est aux utilisateurs aussi de le faire sur les beta.

Dernière modification par booradley (06-12-2011 17:22:05)

Hors ligne

 

#10 08-12-2011 00:51:37

bakura
Administrateur
Date d'inscription: 30-01-2010
Messages: 353

Re: [zf2.0.0beta1] : view helper 'action'

Héhé, c'est clair que je suis chaque fois impressionné quand je lis le code (pas que de Zend hein), comment c'est architecturé, pensé... on apprend beaucoup à lire leur code source ;-).

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