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)