Latte – výraz podmínky v ukončovací značce

- Petr Daňa
 - Člen | 109
 
Ahoj, v dokumentaci o Latte jsem se dozvěděl toto:
Výraz v podmínce {if} lze uvést také v ukončovací značce, což se hodí v situacích, kdy při otevírání podmínky ještě jeho výsledek neznáme:
{if}
    <h1>Výpis řádků z databáze</h1>
    {foreach $database->table as $row} ... {/foreach}
{/if $row}
Pokud je účelem této funkcionality to, aby při prázdném
$database->table se nevypsal celý blok (tj. ani h1 element),
tak musím konstatovat, že to nefunguje. Mám takhle v šabloně celkem
3 bloky, u prvního v seznamu jsou data, takže to projde, ale ve druhém je
seznam prázdný a vyhazuje to výjimku, že nezná tu proměnnou v uzavírací
značce.
Jde tedy o bug nebo jsem špatně pochopil účel této konstrukce? (Nette 2.0.10)

- jiri.pudil
 - Nette Blogger | 1034
 
Není to bug. Ta výjimka dává smysl: jestliže v
$database->table nejsou žádná data, pak se
foreach vůbec neprovede, a proměnná $row tudíž
není nikde definovaná. Pokud to chceš mermomocí používat takhle, použij
v té podmínce isset($row).