Vlastní vykreslení formuláře vytvořeného replikátorem

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

Ahoj, lehce se seznamuji s nette a už několik hodin se snažím vykreslit si vlastní formulář který je sestavený pomocí replikátoru.
Určitě to jde, ale já nevím zatím jak, chtěl bych si sám vypsat formulář v latte. Ale nevím jak pod formulář přidat tlačítko na přidání dalšího prvku. Jedná se konkrétně o toto

{form myForm}
{foreach $form['users']->containers as $user}

    {$user['name']->control} {$user['name']->label}

{/foreach}
{/form}

tento kousek kódu mi vypíše ony tři záznamy pro vyplnění, jak to mám prosím v šabloně zapsat, aby se mi vykreslilo i tlačítko. addAjax. Vycházím přímo z příkladu který autor doplňku zveřejnil na gitu.

/**
	 * @return Form
	 */
	protected function createComponentWorkForm($name)
	{
		$form = new Form;

		$presenter = $this;
		$invalidateCallback = function () use ($presenter) {
			/** @var \Nette\Application\UI\Presenter $presenter */
			$presenter->invalidateControl('usersForm');
		};

		// jméno, továrnička, výchozí počet
		$replicator = $form->addDynamic('users', function (Container $container) use ($invalidateCallback) {
			//$container->currentGroup = $container->form->addGroup('člověsk', FALSE);
			$container->addText('name', 'Jméno');
			$container->addText('email', 'Email')->setRequired();

			$container->addSubmit('remove', 'Smazat')
				->addRemoveOnClick($invalidateCallback);

			$container->addSubmit('removeAjax', 'Smazat Ajaxem')
				->setAttribute('class', 'ajax')
				->addRemoveOnClick($invalidateCallback);
		}, 3);

		/** @var \Kdyby\Replicator\Container $replicator */
		$replicator->addSubmit('add', 'Přidat dalšího')
			->addCreateOnClick($invalidateCallback);

		$replicator->addSubmit('addAjax', 'Přidat dalšího Ajaxem')
			->setAttribute('class', 'ajax')
			->addCreateOnClick($invalidateCallback);

		$form->addSubmit('send', 'Zpracovat')
			->onClick[] = callback($this, 'WorkFormSubmitted');

		$form->addSubmit('sendAjax', 'Zpracovat Ajaxem')
			->setAttribute('class', 'ajax')
			->onClick[] = callback($this, 'WorkFormSubmitted');

		$this[$name] = $form;
		$form->action .= '#snippet--usersForm';
		return $form;
	}

Editoval Cup (1. 6. 2013 23:00)

xxxmisko
Člen | 140
+
0
-

ja som to robil týmto spôsobom:

{form myForm}
{foreach $form['users']->containers as $id => $user}

    {input users-$id-name} {label users-$id-name /}

{/foreach}
{/form}

button by som vykresloval takto:

{input users-addAjax}

Editoval xxxmisko (1. 6. 2013 23:36)

Cup
Člen | 38
+
0
-

Paráda, já věděl že to bude prkotina, díky moc, jede! :)