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.