Ako vložiť dynamický počet selectov do formulára

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

Nazdár,
prosím vás mám pole a každej položke tohoto poľa potrebujem priradiť select. Tie selecty sú úplne rovnaké, len name a id budú mať rôzne.
Snažil som sa to urobiť takto:

	public function createComponentEditMenuForm()
	{
		$form = new Nette\Application\UI\Form();

		$iterator = 1;
		foreach($this->section as $item)
		{
			$form->addSelect('categories_'.$iterator, 'Sekcie', $this->catTree);
			$iterator++;
		}
		return $form;
	}

a v šablone:

{form editMenuForm}

	{block menu}
		<ul>
			{foreach $section as $item}
			<li>
				{$item->title}
				{var $name = 'categories_'.$iterator}
				{label $name /}{input $name}
			</li>
			{/foreach}
		</ul>
	{/block}

{/form}

Vyhadzuje mi to chybu: Method Latte\Runtime\CachingIterator::__toString() must not throw an exception
Z čoho teda moc múdry niesom. Akúkoľvek radu uvítam?
Ďakujem.

Filip Klimeš
Nette Blogger | 156
+
+1
-

Čamo napsal(a):

{var $name = 'categories_'.$iterator}

Tady převádíš $iterator třídy CachingIterator na string, což se mu nelíbí. Zkus $iterator->getCounter().

Čamo
Člen | 798
+
0
-

Díky.