Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 09-02-2008 01:17:37

ALkyD
Membre
Lieu: Limoges
Date d'inscription: 11-07-2007
Messages: 69
Site web

[Résolu] Zend_Form et décorateurs

Salut.,
je sollicite votre aide concernant les décorateurs de Zend_Form, qui m'ont l'air bien complexes et (très) mal documentés.
En gros, lorsque je fais un $form->addElement(xxx), je voudrais que l'élément complet (label compris) soit encadré par des balises div. Par défaut, ça génère le code ci-dessous :

Code:

<dt><label for="xxx">xxx</label></dt>
<dd><input yyy /></dd>

Pour l'instant, j'ai réussi à virer les dt et les dd mais impossible de faire encadrer l'ensemble par des balises div, et même de virer <label>...

En gros, ce que je cherche à faire, c'est un truc de ce genre-là :

Code:

<div>
   <div class="label">mon label</label>
   <div class="element"><input xxx /></div>
</div>

ou encore :

Code:

<table>
<tr>
  <td>mon label</td>
  <td><input xxx /></td>
</tr>
</table>

Une idée du code à utiliser ?

Merci wink

Dernière modification par Mr.MoOx (11-02-2008 13:54:17)

Hors ligne

 

#2 11-02-2008 13:38:59

ALkyD
Membre
Lieu: Limoges
Date d'inscription: 11-07-2007
Messages: 69
Site web

Re: [Résolu] Zend_Form et décorateurs

J'ai finalement trouvé la solution à mon problème :

http://www.nabble.com/How-render-Zend_F … 16154.html

Hors ligne

 

#3 11-03-2008 03:23:55

jprl12
Nouveau membre
Lieu: Montréal, Qc.
Date d'inscription: 11-03-2008
Messages: 6
Site web

Re: [Résolu] Zend_Form et décorateurs

Bonjour,

J'essai aussi d'utiliser les "decorators" dans Zend_Form, mais j'arrive pas à avoir le résultat que je souhaite ... Je voudrais avoir la forme ci-dessous :

Code:

<form>
    <div>
        <label for="name">Name</label><input type="text" name="name" id="name" />
    </div>
</form>

Merci d'avance,


Jean-Philippe
iesto.com | jprl12.com

Hors ligne

 

#4 11-03-2008 03:41:50

jprl12
Nouveau membre
Lieu: Montréal, Qc.
Date d'inscription: 11-03-2008
Messages: 6
Site web

Re: [Résolu] Zend_Form et décorateurs

J'ai trouvé!!!

Code:

    $form->setDecorators( array( 'FormElements', 'Form' ) );
    $form->setElementDecorators(array('ViewHelper','Label',array('HtmlTag', array('tag' => 'div'))));

Il faut mettre le tout avant le render() de notre formulaire ...


Jean-Philippe
iesto.com | jprl12.com

Hors ligne

 

#5 11-03-2008 09:19:50

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

Re: [Résolu] Zend_Form et décorateurs

Faut avouez que c'est pas simple et mal documenté les décorateurs.
Perso, j'ai renoncé à utiliser mon 'propre balisage' et j'ai modifié mes CSS pour coller aux dd/dt smile


----
Gruiiik !

Hors ligne

 

#6 13-03-2008 20:25:26

jprl12
Nouveau membre
Lieu: Montréal, Qc.
Date d'inscription: 11-03-2008
Messages: 6
Site web

Re: [Résolu] Zend_Form et décorateurs

Ouais ... effectivement, c'est pas toujours très clair!!

Bon, j'ai tout de même mes balises <div>, mais maintenant, j'aimerais ajouter une balise <div class="errors"></div> après le champs <input /> ... Des suggestions? J'ai essayé plein de trucs, mais sans résultat ...

Code:

<form>
    <div>
        <label for="name">Name</label><input type="text" name="name" id="name" /><div class="errors"></div>
    </div>
</form>

Je vais utiliser ce <div> pour y afficher des réponses AJAX à propos du champs associé ... donc, parlez moi pas de l'affichage des Errors avec Zend_Form ;-)

Dernière modification par jprl12 (13-03-2008 20:27:03)


Jean-Philippe
iesto.com | jprl12.com

Hors ligne

 

#7 14-03-2008 10:45:06

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

Re: [Résolu] Zend_Form et décorateurs

D'apres le code du décorateur, c'est pas prévu.

Pourtant, dans le View_Helper_FormErrors, il y a bien les fonctions setElementStart et setElementEnd...

Je ne sais pas, le but est donc d'atteindre le View_Helper_FormErrors. En passant par le gestionnaire d'Helper alors...


----
Gruiiik !

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