RadioList , vícenásobná podmínka

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

Zdravím,

už se dlouho snažím naprogramovat v Nette+Dibi aplikaci pro objednávku služeb. Služby beru z databáze , tabulky package a pomocí cyklu bych je potřeboval dostat do formuláře jako RadioList.

foreach($balicky as $b){
$html = self::getHtmlDesc($b["describe"]);
$f->addGroup($b["label"])->setOption('embedNext', TRUE);
     $f->addCheckbox("pkg_".$b["id"],$b["label"]. " (" . self::cena($b["price"]) . " )")->addCondition(Form::EQUAL, TRUE)->toggle('tog_'.$b["id"]);
 	$f->addGroup()->setOption('container', Html::el('div')->id('tog_'.$b["id"]))->setOption('description',Html::el('div')->setHtml($html));
	$f->addHidden('r_'.rand(),'v_'.rand());

 }

Tohle je způsob jakým data dostanu do formuláře ale bez podmínek, všeho ostatního a jako Checkboxy.
Zobrazí se vždycky skupina nadepsaná jako balíček služeb, v ní checkbox který javascriptově toggluje podskupinu ve které je grafický popis balíčku služeb (tj. proměnná $html)

Potřeboval bych něco na způsob tohodle:

$f->addGroup('Balíčky');
$f->addRadioList('pkg', '', $radiolist)
->addCondition(Form::EQUAL,array("pkg_1"))->toggle("pkg_1")
->addCondition(Form::EQUAL,array("pkg_2"))->toggle("pkg_2")
->addCondition(Form::EQUAL,array("pkg_3"))->toggle("pkg_3")
->addCondition(Form::EQUAL,array("pkg_4"))->toggle("pkg_4")
->addCondition(Form::EQUAL,array("pkg_5"))->toggle("pkg_5")
->addCondition(Form::EQUAL,array("pkg_6"))->toggle("pkg_6")
->addCondition(Form::EQUAL,array("pkg_7"))->toggle("pkg_7");
$f->addGroup('Popisek')->setOption('container', Html::el('div')->id('pkg_1'))->setOption('description','popsi pro skupinu 1');
$f->addGroup('Popisek')->setOption('container', Html::el('div')->id('pkg_..'))->setOption('description','popsi pro skupinu ..');
$f->addGroup('Popisek')->setOption('container', Html::el('div')->id('pkg_..'))->setOption('description','popsi pro skupinu ..');
$f->addGroup('Popisek')->setOption('container', Html::el('div')->id('pkg_..'))->setOption('description','popsi pro skupinu ..');
$f->addGroup('Popisek')->setOption('container', Html::el('div')->id('pkg_..'))->setOption('description','popsi pro skupinu ..');

Jenže tady mi kód zase nefunguje, vícenásobná podmínka na položky RadioListu se proste neaplikuje nebo já nevím…
Omlouvám se za ten prasácký kód, ale snažím se vám co nejlépe přiblížit moji situaci.

Mohl by mě prosím někdo posunout správným směrem?
Děkuji

BTW: používám poslední, tj. 0.9 verzi Nette a stejně tak ke dnešku staženou verzi dibi

smarek
Člen | 9
+
0
-

j, díky, to pomohlo.

Teď už jenom aby se brzo implementovala funkce invalidace dat při ~toggle(parentFormGroup) (https://forum.nette.org/…le-i-na-data) a budu mit pocit že se blížíme k dokonalosti :)