Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZF]Zend_Form i decoratory
Forum PHP.pl > Forum > PHP > Frameworki
seth-kk
Pytanie1: Czy Zend_Form_Decorator_Fieldset pozwala na modyfikacje tagow ktore uzywa?
Tzn zamiast
wlasny zestaw tagow ktory umozliwi mi dopasowanie formularza do wizualizacji
Docelowo jeden formularz sklada sie z kilku fieldsetow i kazdy musi miec wlasna etykiete/legende ale ciezko bedzie dopasowac style zeby wygladala tak jak w pozostalych elementach strony

Pytanie2: Czy Zend_Form wspiera budowanie formularzy przypominajacych tabele? Czy lepiej zrobic to na samych widokach? Dokladniej chodzi mi o sytuacje gdzie kolumny reprezentowane sa przez cos w stylu
  1. <tr>
  2. <td><input name="zmienna1[]" /></td>
  3. <td><input name="zmienna2[]" /></td>
  4. <td><input name="zmienna3[]" /></td>
  5. </tr>

a ilosc wierszy zalezy od ilosci danych wprowadzonych przez uzytkownika
Earth
Sam ostatnio miałem podobny problem jak zbudować formularz na tabeli, skończyło się na tym, że widok formularza zrobiłem w Widoku.

  1. <form id="profil" method="post" action="{$form->getAction()}" class="{$form->getName()}" enctype="{$form->getAttrib('enctype')}">
  2. <table id="form">
  3. <tr>{$form->login}</tr>
  4. <tr>{$form->password}</tr>
  5. <tr>{$form->password_confirm}</tr>
  6. <tr>{$form->email}</tr>
  7. <tr>{$form->imie}</tr>
  8. <tr>{$form->nazwisko}</tr>
  9. <tr>{$form->nazwa_instytucji}</tr>
  10. <tr>
  11. <td colspan="2">
  12. <div id="mapka" style="width: 435px; height: 300px; border: 1px solid #CCCCCC; background: #F0F0F0;"></div>
  13. </td>
  14. </tr>
  15. <tr>{$form->profil_wojewodztwo}</tr>
  16. <tr>{$form->profil_miasto}</tr>
  17. <tr>{$form->ulica}</tr>
  18. <tr>{$form->kod_pocztowy}</tr>
  19. <tr>{$form->tel}</tr>
  20. <tr>{$form->captcha}</tr>
  21. <tr>
  22. <td></td>
  23. {$form->submit}
  24. {$form->hidden}
  25. {$form->lat}
  26. {$form->lng}
  27. </tr>
  28. </table>
  29. </form>

Natomiast przy każdym elemencie mam:
  1. ->addDecorators(array(
  2. array('HtmlTag', array('tag' => 'td', 'class' => 'value')),
  3. array('Label', array('tag' => 'td')),
  4. ));

batman
Jeśli chcesz grzebać w dekoratorach to polecam lekturę Zend_Form_Decorator_ViewScript. W skrócie - sam sobie tworzysz kod html, w jaki będzie opakowany element.
seth-kk
po wylaczeniu Zend_Form_Decorator_HtmlTag dla formularza i Zend_Form_Decorator_DtDdWrapper dla grup oraz uzyciu title zamiast legend uzyskalem oczekiwany efekt - dzieki batman
Earth to nie bardzo przypomina moj przypadek - zwroc uwage na nazwy zmiennych to tablice - moj formularz (a wlasciwie jego czesc) bazuje na tablicach/wektorach - ma ktos z tym jakies doswiadczenia? narazie najlepszy pomysl jaki przychodzi mi do glowy to stworzenie nowego elementu i stosu dekoratorow dla niego
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.