Generalnie zendowe formularze mają to do siebie, że czasem są upierdliwe do stylowania wyglądu. Ale wszystko się da zrobić

1. W najprostszych przypadkach, można przypisać odpowiednim elementom formularza atrybuty ID oraz CLASS i w arkuszu CSS kombinować jak elementy poustawiać, aby wyglądały jak chcemy.
2. Jak powyższe to za mało, to możesz zmienić ustawienia dekoratorów elementów formularza oraz dekoratorów samego formularza. Czasem sama zmiana kolejności użytych dekoratorów pozwala osiągnąć zamierzony efekt. Tym sposobem wyrenderowany formularz nie zawiera domyślnych tagów <dd>, <dl> itd., tylko powiedzmy <ul>, <li>, <div> i tak dalej - co sobie sam ustalisz, z odpowiednimi nazwami klas itd.
3. Największą kontrolę w określaniu wyglądu formularza masz wówczas, gdy do jego renderowania użyjesz dekoratora viewScript, bo to polega na tym, że tworzysz dla takiego formularza osobny plik widoku (.phtml) i w nim konstruujesz cały HTML ręcznie. W takim widoku dostępne są wszystkie dodane do formularza elementy i atrybuty samego formularza oraz view helpery - jest to standardowy szablon przetwarzany przez Zend_View.
Można to zrobić np. tak:
w metodzie init() formularza (albo konstruktorze, czy po prostu na obiekcie forma, bo metoda jest pubiczna) wywołujesz:
//tu przykład wewnątrz init() formularza
public function init() {
$this->setDecorators(array( array('ViewScript', array('viewScript' => 'widok_formularza.phtml')) ));
}
Powyższy kod zastępuje domyślne dekoratory formularza jednym, który używa do wyrenderowania formularza szablonu widok_formularza.phtml.
Ten szablon musi znajdować się w ścieżce, w której znajdzie go Zend_View; możesz też ustawić taką ścieżkę do własnego folderu, w którym trzymasz ten plik, wywołując metodę addScriptPath() obiektu Zend_View zwracanego przez Zend_Form::getView():
//dalej przykład w metodzie init()
$this->getView()->addScriptPath('tutaj/sciezka/do/folderu/z/plikiem/szablonu);
I teraz zostaje tylko utworzenie szablonu widok_formularza.phtml. Przykłady jak to robić:
http://framework.zend.com/manual/en/zend.f...tors.viewScripthttp://www.karolnowicki.pl/zend-framework/...w-zend_form-se/po więcej szukaj w google: zend_form viewScript
Przydatne materiały o dekoratorach formularzy są w manualu zenda i np. tutaj:
http://devzone.zend.com/1240/decorators-with-zend_form/