Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 17-08-2007 15:38:55

samy
Nouveau membre
Lieu: Montpellier
Date d'inscription: 18-07-2007
Messages: 9
Site web

Zend_Controller_Plugin_Abstract [1.0.1]

Comment faire pour affecter une valeur à la vue dans un plugin de controleur ?
Lorsque je fait $this->view->msg =''; dans une methode du plugin, l'erreur suivante s'affiche :
Strict standards: Creating default object from empty value in /home/supagro/www/lib/Test/Plugins/ErrorForm.php on line 45


SAMY

Hors ligne

 

#2 17-08-2007 21:45:50

ndesaleux
Membre
Date d'inscription: 16-04-2007
Messages: 196
Site web

Re: Zend_Controller_Plugin_Abstract [1.0.1]

es tu sur que view est une propriété de ton plug-in ?

as tu un bout de code a fournir concernant ton plugin

Hors ligne

 

#3 20-08-2007 10:22:39

samy
Nouveau membre
Lieu: Montpellier
Date d'inscription: 18-07-2007
Messages: 9
Site web

Re: Zend_Controller_Plugin_Abstract [1.0.1]

voila le plugin, sur la ligne ou je retour un tableau d'erreur (return $arrayErrors;), j'aurai aimé affecter directement cette valeur à la vue.


require_once 'Zend/Controller/Plugin/Abstract.php';

/**
* @name       ErrorForm Class
* @category   Plugin
* @package    Plugin_ErrorForm
*/
class Plugin_ErrorForm extends Zend_Controller_Plugin_Abstract
{
    public $filters = array();
    public $validators = array();

    public function getErrors($values)
    {
        $errors = array();

        $input = new Zend_Filter_Input($this->filters, $this->validators, $values);


        if ($input->hasInvalid()) {
            $errors = $input->getMessages();
        }

        echo $input->prenom;
        print_r($input);
        if (count($errors) == 0) {
            $this->_CLEAN = $input;
            return false;
        } else {
            //on affiche les erreurs dans le formulaire
            foreach ($errors as $key=>$val) {
                $arrayErrors[$key] = implode('<br />', $val);
            }           
            return $arrayErrors;
        }
    }

    public function setFilter($filters){
        $this->filters = $filters;
        return $this;
    }

    public function setValidators($validators){
        $this->validators = $validators;
        return $this;
    }
}


SAMY

Hors ligne

 

#4 27-08-2007 14:46:54

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: Zend_Controller_Plugin_Abstract [1.0.1]

Bonjour,
Dans un plugin, la vue par défaut n'est pas créée. Il vaudrait mieux faire ça dans un helper si tu utilises la vue instanciée automatiquement par le ZF (et le $this->view dans un plugin n'a pas de signification, contrairement à un helper).
Sinon tu peux instancier ta vue dans le index.php et ajouter la mettre par exemple dans la registry pour l'utiliser ensuite dans ton plugin

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

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