Vlastní FormControl se šablonou, CSS a JavaScriptem

- Milo
- Nette Core | 1283
Proč FormControl dědí od Component a né od
Control když je to vykreslitelná komponenta? Když si podědím
od FormControl vlastní formulářový prvek, nemůžu potom
používat parent::createTemplate() (teda můžu, ale musím si to
napsat sám :-)).
A pokud mám vlastní FormControl se šablonou používající
CSS a JS, jak nejlépe uvést tyto soubory do hlavičky v layoutu a to pouze
jednou i při použití více controlů na stránce? Registruji si CSS i JS
soubory přes vlastní třídu HeaderFiles::add( $file ) a to potom
v layoutu vykreslím, ale mám tušení, že je na to už něco hotového.

- Patrik Votoček
- Člen | 2221
FormControl od Control nedědí protože samotný FormControl není vykreslitelný. O vykreslení se stará až renderer Nette\Forms\ConventionalRenderer

- Milo
- Nette Core | 1283
Vykreslit se nedá jen proto, že to je abstraktní třída, ale v podstatě
je to <input> element. Všechny ostatní dědicové
CheckBox, RadioList, … ale už vykreslit lze.
Proč se tedy o ně stará Renderer, když by se mohli vykreslovat samy? Když to vezmu od začátku… jak teda nejlépe vytvořit formulářový prvek s vlastní šablonou, CSS a JS?
Editoval Milo (11. 8. 2010 11:04)