Ben iki form var ve iki giriş alanları 'title' denir gibi bazı kimlikleri paylaşabilirsiniz.
Zend bana böyle güzel bir çıktı üretir:
<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>
Şimdi sorun dt ve dd elemanları (bu, bir alt formu olduğu form1-Başlıktaki-lable olmalıdır) yanlış olarak adlandırılır olmasıdır.
Ben de eleman dekoratörler değiştirmek için çalıştı:
$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' ))
));
Beklendiği gibi ancak sonuç değildi.
A label was added to my submit button and the ids of the dt elements were still there.
How do you remove the id attributes?
Düzenle - Eleman beyanı:
$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);