Cyklus v šabloně – zobrazení proměnné při změně hodnoty

Allconius
Člen | 317
+
0
-

Ahoj, jen taková blblost, ale nemůžu na to přijít … V presenteru načítám pole hodnot:

<?php
        $hodnotitele = $this->dbManager->zobrazHodnotitele();
        $this->template->posts = $hodnotitele;
        $this->template->oblast = 1;
        $this->template->vyzva = 1;
?>

a v šabloně zobrazuji data:

<?php
    {foreach $posts as $row}
	{if (($row->oblast)==$oblast)}<h2>Oblast první</h2>{$oblast++}{/if}
    {if (($row->vyzva)==$vyzva)}<div>Výzva{$vyzva}</div>{$vyzva++}{/if}
    <div class="hodnotitel">
        <div><a href="{link Hodnotitele:}"><img src="{$basePath}/img/hodnotitel{$row->foto}" width="150" border="0" alt="" /></a></div>
        <div>{$row->titul} {$row->jmeno} {$row->prijmeni}{if ($row->titulza)<>''}, {$row->titulza}{/if}</div>
    </div>
    {/foreach}
?>

mám problém s tím {$oblast++} a {$vyzva++} protože se mi to zobrazuje na stránce, jak mám tu hodnotu navýšit aniž by to bylo vidět na stránce ? Vyřešil jsem to jen že jsem tam přidal číslování <h2>{$oblast++}. Oblast první</h2>:

<?php
    {foreach $posts as $row}
	{if (($row->oblast)==$oblast)}<h2>{$oblast++}. Oblast první</h2>{/if}
    {if (($row->vyzva)==$vyzva)}<div>Výzva{$vyzva++}</div>{/if}
    <div class="hodnotitel">
        <div><a href="{link Hodnotitele:}"><img src="{$basePath}/img/hodnotitel{$row->foto}" width="150" border="0" alt="" /></a></div>
        <div>{$row->titul} {$row->jmeno} {$row->prijmeni}{if ($row->titulza)<>''}, {$row->titulza}{/if}</div>
    </div>
    {/foreach}
?>

ale kdybych to chtěl bez toho jen <h2>Oblast první</h2> ?

Allconius
Člen | 317
+
0
-

nakonec jsem to vyřešil přidáním polí názvů:

<?php
    {foreach $posts as $row}

    {if (($row->oblast)==$oblast)}<h2>{$oblastseznam[$oblast++]}</h2>{/if}
    {if (($row->vyzva)==$vyzva)}<div>{$vyzvaseznam[$vyzva++]}</div>{/if}
    <div class="hodnotitel">
        <div><a href="{link Hodnotitele:}"><img src="{$basePath}/img/hodnotitel{$row->pohlavi}.png" width="150" border="0" alt="" /></a></div>
        <div>{$row->titul} {$row->jmeno} {$row->prijmeni}{if ($row->titulza)<>''}, {$row->titulza}{/if}</div>
    </div>
    {/foreach}
?>
galab
Backer | 74
+
0
-

Třeba? :)

{php $oblast++}

https://latte.nette.org/cs/tags#…

Allconius
Člen | 317
+
0
-

galab napsal(a):

Třeba? :)

{php $oblast++}

https://latte.nette.org/cs/tags#…

jj to je ono, díky :-D

Kamil Valenta
Člen | 822
+
0
-

IMHO ale tady takové „výpočty“ dělají šablonu hůř čitelnou. Proč do sebe nezanoříš dva cykly, druhý přes $oblastseznam? Nebo proč si ta data nepřipravíš v modelu?