Jak dostat iterator do $this->global

- ali
 - Člen | 342
 
Ahoj,
jak lze do promenne $this->global v sablone vlozit iterator z foreach nejak elegantneji nez pres jeho pouziti (viz kod nize)?
{foreach $day as $hour => $minutes}
 {$iterator->isFirst()}
 <tr n:if="$this->global->its[0]->isFirst()">
  {foreach $minutes as $seconds}
   <th>{$seconds}</th>
  {/foreach}
 </tr>
{/foreach}
				
- CZechBoY
 - Člen | 3608
 
Na co to potřebuješ? Proč ti nestačí
$iterator->isFirst(), případně uložení iteratoru do
pomocné proměnné?
{foreach $day as $hour => $minutes}
 {var $dayIterator = $iterator}
 <tr n:if="$dayIterator->isFirst()">
  {foreach $minutes as $seconds}
    {var $minuteIterator = $iterator}
    <th>{$seconds}</th>
  {/foreach}
 </tr>
{/foreach}
				
- ali
 - Člen | 342
 
Pomocna promenna je samozrejme mozna, jde mi spis o to, ze v latte ~2.3.0 jsem pouzival promennou $_l->its pro tyhle ty ucely, ktera je v aktualni verzi deprecated.
A pokud jsem to dobre pochopil, tak nahrada by mela byt prave promenna $this->global->its, kde se taky iterator uklada, ale az po jeho pouziti v sablone.

- ali
 - Člen | 342
 
Ja nepsal, ze nemuzu pouzivat docasny promenny, jen jsem byl zvykly pouzivat
jinaci reseni, tot vse :-).
A pouzivam to tehdy, kdyz chci v makru foreach pouzit iterator z rodicovskeho
foreach.
V promenne $_l byli ulozeny iteratory z foreach, takze si mohl pouzivat jednotlive iteratory, bez deklarovani dalsich promennych, viz priklad:
{foreach $a => $b}
 {foreach $b => $c}
  {foreach $c => $d}
   {$_l->its[0]->getCounter()} {* iterator pole $a *}
   {$_l->its[1]->getCounter()} {* iterator pole $b *}
   {$_l->its[2]->getCounter()} {* iterator pole $c *}
  {/foreach}
 {/foreach}
{/foreach}