Problém s addRadioList ->getSeparatorPrototype()->setName(NULL)

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

Ahoj, začal jsem se učit Nette framework a musím říct že se mi opravdu líbí. Narazil jsem ovšem na jeden problém a sice u „->getSeparatorPrototype()->setName(NULL);“. Tento příkaz sice radio přesune na jeden řádek, ale vyřadí funkčnost dalších příkazů k němu se vázajících. Mám:

$form->addRadioList(‚sex‘, ‚Pohlaví‘, $sex)
->getSeparatorPrototype()->setName(NULL)
->setRequired(‚Musíte vybrat pohlaví‘)
->setOption(‚description‘, ‚*‘);

a potřebuji aby to šlo a hlavně zachovat rozložení na jeden řádek. Jak na to? Zde to mám online:

http://dev.style-art.cz/nette/

Vojtěch Dobeš
Gold Partner | 1316
+
0
-

Well, volej nejdřív setRequired a setOption :). Metoda getSeparatorPrototype() svým názvem naznačuje, že něco vrací (a logicky to nebude objekt, ke kterému patří). Vrací instanci Nette\Utils\Html, ze které už instanci formulářového prvku zpětně získat nejde. Případně můžeš udělat:

$radiolist = $form->addRadioList('sex', 'Pohlaví', $sex);
$radiolist->separatorPrototype->setName(NULL);
$radiolist->setRequired(...)->setOption(...
zandom07
Člen | 2
+
0
-

První rada funguje díky :-)