Vyvtoření kontejneru addContainer s pomocí callbacku

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

Je nějak možné vytvořit kontejner tak aby jeho položky byly vytvořeny na základě callbacku? Něco jako ve FormReplicatoru jen aby to nedělalo vícenásobná pole:

$form->addContainer('users', function (Container $user) {
        $user->addText('name', 'Jméno');
        $user->addText('surname', 'Příjmení');
        // ...
});

Potřebuju aby to vygenerovalo:

<input name="users[name]" />
<input name="users[surname]" />

Důvod je ten že tuto specifickou část formuláře mám definovanou dynamicky z DB a mám kolekci callbacku které se zvolí na základě kritérií.

Neřešil to už někdo?

David Matějka
Moderator | 6445
+
0
-

a nestacilo by proste ten container vytvorit a zavolat fci?

$container = $form->addContainer('users');
$this->handleContainer($container);

...
function handleContainer($container) {
...
}
akadlec
Člen | 1326
+
0
-

No to mě taky napadlo, ale nebylo by fajn mít v addContainer nepovinný parametr s callbackem? Bylo by to dle mě takové elegantnější ;)