setOption na prvky formulare

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

Zdravim.
Mam v presenteru tovarnicku na formular:

protected function createComponentNeco()
{
	$form = new Nette\Application\UI\Form;
	$form->addCheckbox('name', 'caption')
             ->setOption('container', \Nette\Utils\Html::el('div class=checkbox'));
	....
	 $form->addSubmit('hotovo', 'Odeslat')->setOption('class', 'btn btn-success btn-lg');
	 $form->onSuccess[] = $this->necoSucceeded;
	return $form;
}

Z nejakeho duvodu mi nefunguje ani jedno setOption. Tzn. checkboxy se mi neobali do divu s tridou „checkbox“ a submitu se nepriradi patricne tridy (mam to kvuli Bootstrapu).
Nejake rady? Diky.

David Matějka
Moderator | 6445
+
0
-

Kde jsi zjistil, že by to mělo takhle fungovat?

Když koukám do DefaultFormRendereru, tak by asi mělo fungovat setOption(‚class‘), ale pro celý pair. Pro nastavení classy na buttonu nebo jiném inputu použij:

->addSubmit(..)->getControlPrototype()->class('btn btn-sucecess btn-lg');

a bude lepší si upravit renderer, viz https://github.com/…endering.php

(existuje sice i kdyby/bootstrap-form-renderer, ale je jen pro twb2)