Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 17-06-2009 14:57:57

supertino7
Membre
Date d'inscription: 21-02-2009
Messages: 113

Comment accéder aux helpers dans un Zend_Controller_Plugin

Bonjour,

pour pouvoir gérer les ACL sur les modules et les controleurs, je me suis crée un plugin, en me basant sur ce que j'ai pu trouver sur ces 2 topics :

http://www.z-f.fr/forum/viewtopic.php?id=526
http://www.z-f.fr/forum/viewtopic.php?pid=4379

La seule chose que je voudrais, c'est de pouvoir ajouter un message d'information à la page où l'on est redirigé , par exemple si l'on est pas identifié => avoir un message au dessus du bloc de login "Veuillez vous identifier pour accéder à cette page"

J'aimerais pour cela passer par le helper FlashMessenger.

Simplement, dans la classe qui étend Zend_Controller_Plugin_Abstract, on ne peut apparemment pas avoir la main sur les helpers, avec un $this->_helper->FlashMessenger. ( = null)

Quelle est la solution ?

merci

Dernière modification par supertino7 (17-06-2009 14:58:16)

Hors ligne

 

#2 17-06-2009 16:27:59

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

Re: Comment accéder aux helpers dans un Zend_Controller_Plugin

Zend_Controller_Action_HelperBroker::getStaticHelper('FlashMessenger');


----
Gruiiik !

Hors ligne

 

#3 17-06-2009 16:49:33

supertino7
Membre
Date d'inscription: 21-02-2009
Messages: 113

Re: Comment accéder aux helpers dans un Zend_Controller_Plugin

excellent smile

Bon ça ne marche pas. sad

Code:

if (!$this->_auth->hasIdentity()){
                $module = self::FAIL_AUTH_MODULE;
                $controller = self::FAIL_AUTH_CONTROLLER;
                $action = self::FAIL_AUTH_ACTION;

                $flash = Zend_Controller_Action_HelperBroker::getStaticHelper('FlashMessenger');
                $flash->addMessage('Veuillez vous logguer pour accéder à votre article');
}

$request->setModuleName($module);
$request->setControllerName($controller);
$request->setActionName($action);

et sur le layout :

Code:

<div id="homeflashmessage"><?= $this->homeflashmessage ?></div>

Mais je n'ai rien qui s'affiche sad.

Edit: bon je crois que j'ai résolu le problème. Il y avait un sacré bazar dans mon code en réalité o_o
je pensais que homeflashmessage était la clé pour afficher les flashmessages, mais pas du tout c'est moi qui l'ai crée.

Dernière modification par supertino7 (17-06-2009 17:36:21)

Hors ligne

 

#4 17-06-2009 20:52:29

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

Re: Comment accéder aux helpers dans un Zend_Controller_Plugin

Normal, le flashmessenger n'est pas fait pour fonctionne sur l'action "courante". Dans ton plugin tu ne fais aucune redirection, donc , ton flashmessenger ne sert  à rien.

Je te conseil de lire la section 12.8.4.4.1 concernant le flashMessenger
Je cite :
"L'aide FlashMessenger vous permet de fournir les messages dont l'utilisateur pourrait avoir besoin dans la requête suivante."


----
Gruiiik !

Hors ligne

 

#5 18-06-2009 00:18:53

mikaelkael
Administrateur
Lieu: Donges
Date d'inscription: 18-06-2007
Messages: 1176
Site web

Re: Comment accéder aux helpers dans un Zend_Controller_Plugin


Less code = less bugs
Contributeur ZF - ZCE - ZFCE - Doc ZF (CHM & PDF) - Vice-trésorier AFUP 2011
Ubuntu 11.04 - ZendServer

Hors ligne

 

#6 08-07-2009 22:02:00

probitaille
Membre
Lieu: Montréal
Date d'inscription: 20-04-2009
Messages: 336
Site web

Re: Comment accéder aux helpers dans un Zend_Controller_Plugin

Moi j'ai besoin d'un truc semblable...est-il possible d'appeler un view helper dans un autre view helper...

Je m'explique, j'ai un view helper qui sert à afficher des nouvelles, mais dans son script, il comporte un appel à un autre view helper qui transforme la date des nouvelles...

Merci

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