Jak si v latte načíst všechny Containery vytvořené ve formuláři?
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- kloban
- Člen | 123
Ahoj,
potřeboval bych si v šabloně načíst všechny vytvořené Containery.
V prezenteru je vytvářím přes foreach, a tak bych je pomocí foreach
v latte potřeboval i vykreslovat.
Nepřišel jsem ale na to kde jejich seznam vyčíst. Respektive našel jsem akorát, že v proměnné $form->components tento seznam je, ale jak název napovídá jsou tam i všechny ostatní věci jako inputy, které jsou mimo Container a také třeba odesílací tlačítko.
- duke
- Člen | 650
Getter Form::getComponents má jako druhý parametr typ objektu pro filtrování, takže můžeš použít:
{foreach $_form->getComponents(FALSE, 'Nette\Forms\Container') as $container}
{formContainer $container}
...
{/formContainer}
{/foreach}
Alternativně můžeš všechny containery vytvářet ve zvláštním containeru (ve kterém nebude nic jiného než další containery), a pak si vystačís v šabloně s již tebou zmíněným:
{formContainer nazevZvlastnihoContaineru}
{foreach $_form->components as $container}
{formContainer $container}
...
{/formContainer}
{/foreach}
{/formContainer}