Formulare a grupy
- arron
- Člen | 464
Zacal jsem se trochu vrtat v renderovani formularu a zjistil jsem, ze prace
s grupami je takova nesikovna…resp. kdyz chci vyrenderovat vsechny prvky
formulare, tak pomoci metody $form->getComponents()
dostanu
vsechny controly ve formulari, ale uz se nemam jak dozvedet, jestli nektere
s controlu jsou v nektere ze skupin. Pokud jdu stejnou cestou jako
ConventionalRenderer
, tak vykreslim vsechny skupiny, ale nektere
controly v zadne byt nemusi a musim na to myslet. Navic je takto formular
„rozkouskovany“ na jednotlive grupy, coz sice muze byt nekdy sikovne, ale
nekdy taky ne. Je to napriklad pricinou toho, ze ackoliv mam nektery prvek ve
formulari nadefinovany jako prvni, tak se vykresli klidne az na konci, protoze
nektere prvky mam definovane ve skupinach a ty se renderuji nejdriv. Pokud mam
vsechno zavrene treba v divech, tak to jeste docela jde, ale pokud chci mit
formular treba v tabulce, tak se pak uz tezko ovlivnuje poradi, v jakem budou
jednotlive prvky na strance umisteny.
Proste mi to prijde takove ne uplne sikovne. Ja chapu, ze grupy jsou
v podstate jenom vizualni prvky, nicmene pri vykreslovani je potreba na ne brat
velky zretel. Coz takhle grupu povysit na uroven Containeru s tim, ze ma proste
jiny vyznam? Pak pomoci getComponent()
dostanu i grupy a bude se
dat jednotlive prvky formulare vyrenderovat presne v tom poradi, ve kterem jsou
nadefinovay. Neni to sice uplne „košér“ nicmene dalsim zpusobem je
renderovat formulare prvek po prvku rucne primo v sablone (a to uznate, ze je
pekne na…). Nebo alespon udelat to, aby kazdy prvek formulare byl v nejake
skupine; tedy aby existovala nejaka ‚default‘ grupa.
A jeste by mozna stalo za to dotahnout odebirani prvku z formulare, protoze tento pak zustava viset ve skupine:-)
Co vy na to?
P.S.: Ted me jeste tak napadlo, coz takhle pridat moznost
setOption
a getOption
metod primo do tridy
Form
. Nekdy by treba bylo uzitecne si do rendereru predavat nejake
parametry primo pro formular.
Editoval arron (8. 5. 2009 21:55)