Witam, staram się uzyskać następujący kod formularza
<form>
<div class="element">
<div class="csLabel">
<label for="pole1"> Numer faktury </label>
<div>
<div class="csEdit">
<input type="text" name="pole1" id="pole1" value="" />
</div>
</div>
<div class="element">
<div class="csLabel">
<label for="pole2"> Data wystawienia </label>
<div>
<div class="csEdit">
<input type="text" name="pole2" id="pole2" value="" />
</div>
</div>
</form>
Kod formularza :
public function init() {
$element = array();
$element['numerfaktury'] = new Zend_Form_Element_Text("Numer faktury");
$element['numerfaktury']->setLabel("Numer faktury");
$element['data_wyst'] = new Zend_Form_Element_Text("Data wystawienia");
$element['data_wyst']->setLabel("Kwota brutto");
$this->addElements($element);
$this->addDecorator('FormElements')
->addDecorator('HtmlTag', array('tag' => 'div'))
->addDecorator('Form');
$this->setDecorators(array(
array('Description', array('tag' => 'div', 'class' => 'opis')),
array(array('div' => 'HtmlTag'), array('tag' => 'div')),
'FormElements',
array('HtmlTag', array('tag' => 'div')),
'Form'
));
$this->setElementDecorators(array(
'ViewHelper',
'Errors',
array('HtmlTag', array('tag' => 'div', 'class' => 'second')),
array('Label', array('tag' => 'div', 'class' => 'first')),
array(array('div' => 'HtmlTag'), array('tag' => 'div')),
));
}
i wynik, który dostaję :
<form>
<div>
<div></div>
<div>
<div id="Numerfaktury-label">
<label for="Numerfaktury" class="csLabel optional">Numer faktury</label>
</div>
<div class="csEdit">
<input type="text" name="Numerfaktury" id="Numerfaktury" value="" />
</div>
</div>
<div>
<div id="Datawystawienia-label">
<label for="Datawystawienia" class="csLabel optional">Kwota brutto</label>
</div>
<div class="csEdit">
<input type="text" name="Datawystawienia" id="Datawystawienia" value="" />
</div>
</div>
</div>
</form>
Pojęcia nie mam jak ustawić wszystko tak jak chcę. Skąd w ogóle ten pusty blok
<div></div>
??
Co oznacza zapis :
array(array('div' => 'HtmlTag'), array('tag' => 'div')),
i dlaczego tak a nie inaczej ? Dlaczego do cholerki tworzenie prostego formularza staje się dość trudne i zagmatwane :/ Przecież framework z natury ma usprawniać pracę :/ Ogólnie to proszę o jaką pomoc w sprawie dekoratorów bo za cholerę nie mogę tego ugryźć.
Mam niby książkę "Zend od podstaw" ale jakoś dokładnych info o dekoratorach (co, jak, z czym, dlaczego tak, po co tak a nie inaczej) mi brakuje.