Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 04-06-2009 01:58:07

callypig
Nouveau membre
Date d'inscription: 23-05-2009
Messages: 5

[Zend_Form] Problème de DisplayGroup

Bonjour,
J'essaie depuis un moment de faire un formulaire basique de deux lignes, chaque ligne comportant un textbox et un checkbox. La solution que j'ai trouvée est de faire deux DisplayGroup, chacun générant un bloc <ul></ul> que je présenterai via une CSS.

Dans mon php, j'ai :

Code:

//Groupe 1
$acteur1 = $this->addElement('select', 'acteur1', array('label' => 'Acteur 1'));
$acteur1 = $acteur1->getElement('acteur1')->setMultiOptions($this->_acteurs);
$acteur1->setDecorators($decorators);
$chb1 = $this->addElement('checkbox', 'chb1', array('label' => 'actif'));
$chb1 = $this->getElement('chb1')->setDecorators($decoChb);

$this->addDisplayGroup(array('acteur1', 'chb1'), 'grp1')
     ->setDisplayGroupDecorators(array(
        'FormElements',
        array(array('ulwrap' => 'HtmlTag'), array('tag' => 'ul', 'id' => 'grp1'))
        ));

//Groupe 2
$acteur2 = $this->addElement('select', 'acteur2', array('label' => 'Acteur 2'));
$acteur2 = $acteur2->getElement('acteur2')->setMultiOptions($this->_acteurs);
$acteur2->setDecorators($decorators);
$chb2 = $this->addElement('checkbox', 'chb2', array('label' => 'actif'));
$chb2 = $this->getElement('chb2')->setDecorators($decoChb);

$this->addDisplayGroup(array('acteur2', 'chb2'), 'grp2')
     ->setDisplayGroupDecorators(array(
        'FormElements',
        array(array('ulwrap' => 'HtmlTag'), array('tag' => 'ul', 'id' => 'grp2'))
        ));

Et ça donne comme sortie :

Code:

<form id="ouvrageForm" enctype="application/x-www-form-urlencoded" action="/Ouvrage/saisie/" method="post">
<div id="ouvrageForm">
<ul id="grp2">
  <li><label for="acteur1" class="leftalign optional">Acteur 1</label>
    <select name="acteur1" id="acteur1">
        <option value="" label=""></option>
        <option value="1" label="Corbeyran, Eric">Corbeyran, Eric</option>
        <option value="3" label="Defalli, Djilali">Defalli, Djilali</option>
    </select>
  </li>
  <li><label for="chb1" class="chb optional">actif</label>
      <input type="hidden" name="chb1" value="0" /><input type="checkbox" name="chb1" id="chb1" value="1" />
  </li>
</ul>
<ul id="grp2">
  <li><label for="acteur2" class="leftalign optional">Acteur 2</label>
    <select name="acteur2" id="acteur2">
        <option value="" label=""></option>
        <option value="1" label="Corbeyran, Eric">Corbeyran, Eric</option>
        <option value="3" label="Defalli, Djilali">Defalli, Djilali</option>
    </select>
  </li>
  <li><label for="chb2" class="chb optional">actif</label>
      <input type="hidden" name="chb2" value="0" /><input type="checkbox" name="chb2" id="chb2" value="1" />
  </li>
</ul>
</div>
</form>

Le problème est que les id de mes deux bloc <ul> sont grp2, et non grp1 et grp2.
1/ La solution que j'ai choisie est-elle correcte ?
2/ Si oui, j'ai dû faire quelque chose de travers
3/ Est-ce normal que des champs hidden se rajoutent ?

Merci pour vos réponses, je commence à m'arracher les cheveux.

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