![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 333 Pomógł: 137 Dołączył: 25.03.2008 Skąd: jesteś?? Ostrzeżenie: (0%) ![]() ![]() |
Jestem ciekaw jak rozwiązać problem z formami w zend mianowicie chodzi o atrybucie id w inputach, mam na stronie dwa formularze i w każdym z nich jest input o nazwie "login", dzięki czemu na stronie mam dwa razy id = "login" co jest nie poprawne i chciał bym to jakoś naprawić.
Jest jakiś łatwy sposób by dodawać przed wszystkimi id, for itp. nazwę całego forma? Czy zostaje mi napisać własny widok do formularza? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 333 Pomógł: 137 Dołączył: 25.03.2008 Skąd: jesteś?? Ostrzeżenie: (0%) ![]() ![]() |
Można, można ale już lepszym pomysłem wydaje się zmodyfikowanie widoku na taki który będzie nadawał id, for, class itp. początek pochodzący od nazwy całego forma. Ehhh, zend to zabawa w chowanego z obchodzeniem małych problemów. ;]
ROZWIĄZANIE: Można stworzyć klasę dziedziczącą po zend_form (tutaj nasz kolega z forum ładnie to demonstruje, poza tym tutaj znalazłem natchnienie do rozwiązania problemu - http://blog.wilgucki.pl/2010/06/uniwersaln...-zendform.html) i w niej na stałe umieścić tą regułę lub w każdym formem w jakim jest potrzebna, tylko trzeba pamiętać iż powinna być na samym końcu lub po dodaniu elementów.
W skrócie - przechodzi po wszystkich elementach i zmienia ich Id dodając przedrostek którym jest nazwa całego forma (ustawiamy ją w taki sposób $this->setName('')), przy okazji zend jest taki inteligentny iż zmienia sam znacznik for w label, więc nic więcej nie trzeba a całość jest w pełni automatyczna. :-) Ten post edytował ShadowD 8.06.2012, 23:17:12 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 18.09.2025 - 17:46 |