getControl() pro checkbox nevraci hodnoty

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
ondra310
Člen | 25
+
0
-

Zdravim, chci si trochu upravit renderer pro formular.
Potrebuji zmenit formatovani checkboxu, pokud je vybrany. Chci se dostat k hodnotam atributu class, ktere si definuji pri vytvareni formulare a ty pouzit do obalovaciho divu. Mam nejaky takovy kod.

if ($control instanceof Nette\Forms\Controls\Checkbox) {
                if ($control->getValue()){
                    dd($control,'full Control');
                    dd($control->getControl(),'getControl');
}

Prvni dump vypise control vcetne korektnich hodnot v $control->getControl()->attrs['class'] (ke kterym se chci dostat), ale v druhem dumpu je to jiz prazdne a kdyz si vypisu ` $control->getControl()->attrs[‚class‘]` tak je to taky prazdne, coz trochu nechapu, proc to tak je. Jestli je na tom postupu neco spatne, tak diky za nakopnuti.
Nette 2.1.2

David Matějka
Moderator | 6445
+
0
-

u checkboxu dojde k obaleni controlu a prida se tam i label.

pokud chces neco zmenit na controlu pred jeho vykreslenim, pristupuj k nemu pomoci getControlPrototype