Nastavení dynamického wrappers
- JakubKohout
- Člen | 92
Zdravím,
mám tento kód
<?php
$a = category::getMainCat();
foreach ($a as $option){
/*
$renderer = $form->getRenderer();
$renderer->wrappers['controls']['container'] = 'table id="'.$option->name.'"';
*/
$form->addGroup($option->name);
category::getCatListCheckbox($form,$option->id);
}
?>
A potřebuju skrývat / zobrazovat pomocí javascriptu daný obsah group.
Problém je v tom, že ID toho table je proměnné, proto nelze využít to co
je zakomentováno.
Celý vlastní render nějak nevim jak použít. A to nechci ani přemejšlet
že bych obsah těch skupin
(category::getCatListCheckbox($form,$option->id);) chtěl načítat Ajaxem,
to už vůbec nevim jak vyřešit :/
- redhead
- Člen | 1313
teď jenom hypoteticky, nešlo by:
$group = $form->addGroup($option->name);
$group->setOption('container', Html::el('table id="'.$option->name.'"'));
ale jen uvažuju nahlas..
Jinak to s tím rendererem je hloupost, protože ten je jednotný pro celý formulář a ne pro jednotlivé prvky.
Druhou možností by bylo manuální renderovaní v šabloně :(
Editoval redhead (23. 8. 2009 18:11)
- JakubKohout
- Člen | 92
To by určitě šlo, také sem o tom už uvažoval, jenže problém
nastává v tom že toto přepíše ten <fieldset> a né ten další
<table>, takže 1) to vypadá špatně 2) potřebuju tomu dalšímu
<table> nastavit css styl na display:none, aby defaultně byl skryt a
zobrazil se až po akci kterou bych navěsil na <legend>.
Dalo by se to teoreticky vyřešit pomocí jQuery selectoru a dopracovat se
k tomu, ale problém zase nastává v tom defaultním skrytí. Chtěl sem se
tomu defaultnímu skrytí pomocí JS vyvarovat, ale nic mi asi nezbude :/