J'ai deux formulaires et ils partagent certains identifiants car deux champs d'entrée sont appelés 'titre'.Zend Decorators - Supprimer le champ Id pour DT Wrapper
Zend me génère une sortie agréable comme ceci:
<dl class="zend-form">
<dt id="title-label">
<label for="form1-title" class="required">Description</label>
</dt>
<dd id="title-element">
<input name="form1[title]" id="form1-title" value="..." type="text">
</dd>
</dl>
Maintenant, le problème est que le dt et les éléments dd sont nommés mal (devrait être form1-titre-lable car cela est une forme de sous).
J'ai essayé aussi de changer les décorateurs d'éléments:
$this->addElements(...);
$this->setElementDecorators(array(
'ViewHelper',
'Errors',
array(array('data' => 'HtmlTag'),array('tag' => 'dd', 'class' => 'element')),
array(array('data' => 'Label'),array('tag' => 'dt', class=> 'label'))
));
Cependant, le résultat n'a pas été comme prévu.
Une étiquette a été ajoutée à mon bouton d'envoi et les identifiants des éléments dt étaient toujours présents.
Comment supprimez-vous les attributs id?
Modifier - Déclaration Élément:
$titel = new Zend_Form_Element_Text('title');
$titel->setLabel("Title")
->addValidator('NotEmpty', true)
->addValidator('stringLength',true, array(0, 255))
->setRequired(true)
->addFilter("Alnum", array(true))
->addFilter('StringTrim');
$this->addElement($titel);
Utilisez-vous des sous-formulaires? Pouvez-vous poster tout le code de cet élément? –