Sčítání položek v rámci foreach

Taps
Člen | 168
+
0
-

Zdravím, můžete mi prosím poradit jak mohu v latte sčítat hodnoty v cyklu? Níže uvedené kod mi ještě fungoval v Nette 3.1 ale v Nette 4.0 již nikoliv. Renderování šablony končí na vyznačeném řádku. děkuji
<table class=„table-bordered2“>
<tr>
<th>Název Výpisu</th>
<th>Počet</th>
<th>Částka</th>
</tr>
{var $count = 0}
{var $sum = 0}

{foreach $summary as $item}
<tr>
<td>{$item->nazev}</td>
<td>{$item->pocet}</td>
<td>{$item->poplatek} Kč</td>
</tr>
{var $count += $item->pocet} – zde laděnka zobrazí chybu (Unexpected ‚$count‘ in {var})
{var $sum += $item->poplatek}
{/foreach}

<tr>
<td></td>
<td>{$count}</td>
<td><b>{$sum} Kč</b></td>
</tr>
</table>

Editoval Taps (6. 9. 2023 20:54)

nightfish
Člen | 517
+
0
-
{do $count += $item->pocet}
{do $sum += $item->poplatek}

Viz dokumentaci.

Marek Bartoš
Nette Blogger | 1263
+
0
-

Bylo by fajn zmínit spíš z jaké verze Latte na kterou jsi aktualizoval. Nette 3.1 a Nette 4 je nic neříkající.

Popis chyby je trochu zvláštní, ale problém je v tom, že s {var} makrem definuješ proměnnou znova. K modifikaci existující proměnné můžeš použít makro {do} – viz https://fiddle.nette.org/latte/#…