Sestavení vzhledu formuláře již v metode createComponent…
- polonium
- Člen | 22
Ahojte,
vytvořil jsem dynamický formulář, který jsem upravil podle sebe uvnitř šablony. Problém nastal ve chvíli kdy jsem jedno políčko odstranil při generování uvnitř metody createComponent…().
Ovšem pokud jsem v latte použil {widget form} fungovalo vše přesně tak, jak jsem potřeboval, ale nyní nemůžu prvky toho formuláře přemístit jak bych potřeboval…
Jediné co mě napadlo je už při generování prvků uvnitř metody createComponent…() nastavit i pozici některých prvků formuláře, ale jak to nevím…
V dokumentaci se píše pouze o vykreslování uvnitř šablony.
Předem díky za odpovědi :)
- Filip Procházka
- Moderator | 4668
Pořadí prvků by mohlo jít odpojením a připojením na požadované místo
$form->addText('jedna');
$dva = $form->addText('dva');
$form->addText('tri');
$form->addText('ctyri');
$form->addText('pet');
$form->removeComponent($dva);
$form->addComponent($dva, 'dva', 'pet'); // třetí argument $insertbefore
Toto nebude fungovat, pokud ve formulář používáš
ControlGroup
(->addGroup()
), protože z něj
nejdou prvky odstranit. Pokud chceš vědět jak se dá hacknout odstranění
prvku z formuláře, pak kompletní
implementace je v mém replicatoru, s tím rozdílem, že odstraňuje
celý Container
. Odstranění jednoho prvku by bylo výrazně
jednodušší.
A na závěr dodám, že odstraňování komponent nepodporuji. Efektivnější je komponenty v první řadě správně sestavit. V případě replicatoru nebylo zbytí, kvůli principu jakým funguje, takže odstraňování bylo potřeba.
Editoval HosipLan (21. 7. 2011 19:38)