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
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
Č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()
.