Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 16-04-2009 17:43:11

Djules
Membre
Date d'inscription: 29-03-2009
Messages: 52
Site web

[Résolu][Zend_Form_Decorator]Créer un décorateur perso pour erreurs

Bonjour,

Est-ce que quelqu'un pourrait m'expliquer la section "21.5.3. Décorateurs personnalisés" de la doc Zend  (voir ici) concernant la création d'une classe My_Decorator_Errors ?

En fait je veux savoir si cette classe je doit la mettre dans un fichier php à part de celui de mon formulaire ou non, et si oui comment je l'appelle ?

Dans la doc, ils ont l'air de dire que puisque ma classe prend le nom 'Errors', elle sera directement appelée, mais j'ignore comment.

Qui pourrait m'éclairer svp ?

Merci.

Dernière modification par Djules (17-04-2009 10:36:46)

Hors ligne

 

#2 17-04-2009 08:50:15

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

Re: [Résolu][Zend_Form_Decorator]Créer un décorateur perso pour erreurs

Tu créés ta class selon la notation de Zend, par exemple, tu créé le fichier
My/Form/Decorator/Errors.php avec une class nommé My_Form_Decorator_Errors

Ensuite, tu utilises addElementPrefixPath et addPrefixPath pour dire ou trouvés tes décorateurs perso :

Code:

$this->addPrefixPath('My_Form_Decorator', 'My/Form/Decorator/', 'decorator');
$this->addElementPrefixPath('My_Form_Decorator', 'My/Form/Decorator/', 'decorator');

Si tu as codé un décorateur errors, c'est le tient qui sera utilisé en priorité.


----
Gruiiik !

Hors ligne

 

#3 17-04-2009 09:36:01

Djules
Membre
Date d'inscription: 29-03-2009
Messages: 52
Site web

Re: [Résolu][Zend_Form_Decorator]Créer un décorateur perso pour erreurs

Merci pour ta réponse nORKy.

J'arrive à appeler mon propre décorateur Errors, mais j'obtiens le message d'erreur suivant :

Code:

Fatal error: Call to undefined method My_Form_Decorator_Errors::setElement() in C:\wamp\www\videoMP\library\Form\Element.php on line 1909

et le code de mon décorateur est identique à celui de la doc.

Apparemment il cherche à appeler la fonction setElement mais je n'en ai pas défini dans mon décorateur, je veux utiliser celle par défaut ..

Dernière modification par Djules (17-04-2009 09:39:47)

Hors ligne

 

#4 17-04-2009 09:53:13

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

Re: [Résolu][Zend_Form_Decorator]Créer un décorateur perso pour erreurs

Hello,

Ton décorateur doit étendre Zend_Form_Decorator_Errors ou plus vraisemblablement Zend_Form_Decorator_Abstract qui contient cette méthode.

A+


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

Hors ligne

 

#5 17-04-2009 10:24:19

Djules
Membre
Date d'inscription: 29-03-2009
Messages: 52
Site web

Re: [Résolu][Zend_Form_Decorator]Créer un décorateur perso pour erreurs

Ah oui effectivement j'avais oublié ça smile

Mais nouvelle erreur d'incompatibilité, mais en quoi ?

Code:

Fatal error: Declaration of My_Form_Decorator_Errors::render() must be compatible with that of Zend_Form_Decorator_Interface::render() in C:\wamp\www\videoMP\library\My\Form\Decorator\Errors.php on line 20

La ligne 20 correspond à la dernière ligne de mon code

Hors ligne

 

#6 17-04-2009 10:28:53

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

Re: [Résolu][Zend_Form_Decorator]Créer un décorateur perso pour erreurs

Hello,

Ta définition de la méthode render() n'est pas identique à celle de l'interface Zend_Form_Decorator_Interface, tu dois avoir :

Code:

public function render($content)
{

}

Publique avec un seul paramètre $content.

A+


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

Hors ligne

 

#7 17-04-2009 10:35:51

Djules
Membre
Date d'inscription: 29-03-2009
Messages: 52
Site web

Re: [Résolu][Zend_Form_Decorator]Créer un décorateur perso pour erreurs

Je te remercie mikaelkael, l'erreur était bien là, il ne faut PAS vider la variable $content, sinon on n'affiche plus le input(ou l'élément) qui va avec.

Merci beaucoup, maintenant ça fonctionne !

Dernière modification par Djules (17-04-2009 10:41:11)

Hors ligne

 

#8 17-04-2009 10:47:00

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

Re: [Résolu][Zend_Form_Decorator]Créer un décorateur perso pour erreurs

De rien, peut-être à bientôt au détour de la Place de Verdun ou de la tour St Nicolas wink


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

Hors ligne

 

#9 17-04-2009 10:56:54

Djules
Membre
Date d'inscription: 29-03-2009
Messages: 52
Site web

Re: [Résolu][Zend_Form_Decorator]Créer un décorateur perso pour erreurs

Ahah OK pas de soucis pour ça ! wink

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