podpora iterace přes FormContainer
- pekelnik
- Člen | 462
Pro iteraci nad FormContainer nyní funguje následující konstrukce:
{foreach $form['some']['container']->components as $item}
{$item->label} {$item->control}
{/foreach}
mnohem intuitivnější by bylo pokud by šlo iterovat přímo nad objektem FormContainer:
{foreach $form['some']['container'] as $item}
{$item->label} {$item->control}
{/foreach}
je to maličkost, ale příjemná :)
Editoval pekelnik (1. 4. 2010 23:42)
- David Grudl
- Nette Core | 8228
$form->components
prochází všechny komponenty,
$form->controls
prochází všechny prvky implementující
Nette\Forms\IFormControl
. Protože by nemuselo být zřejmé, nad
čím iteruje samotné $form
, tak tam přímo iterátor
raději není.
- pekelnik
- Člen | 462
Dovoluji si oživit toto vlákno :)
Elegatní řešení navrhuje Majkl: Dal bych to přímo do
Nette\ComponentContainer.
Já bych to dal do Nette\Forms\FormContainer.
Skutečně každého kdo přidá do formuláře kontejner a chce ho
manuálně renderovat napadne foreach ($container as $item)
.
Editoval pekelnik (6. 10. 2010 14:06)