Cyklus v latte s $i++ a podobne

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Andurit
Člen | 131
+
0
-

Caute,
mám nejaké HTML / CSS s TOP prehliadačmi na stránke, snažím sa to následne zobraziť. Ktoré je v zása de zlozene z 2 častí:

  1. Väčšia s <div> s classom BIG
  2. Menšia bez tohto classu

V zásade to vyzerá nejako takto:

						<div class="browserStat big">
							<img src="{$basePath}/img/browser-firefox-big.png" alt="Firefox">
							<span>44%</span>
						</div>
						<div class="browserStat big">
							<img src="{$basePath}/img/browser-chrome-big.png" alt="Firefox">
							<span>34%</span>
						</div>
						<div class="browserStat">
							<img src="{$basePath}/img/browser-ie.png" alt="Internet Explorer">
							<span>34%</span>
						</div>
						<div class="browserStat">
							<img src="{$basePath}/img/browser-safari.png" alt="Safari">
							<span>34%</span>
						</div>

Samozrejme pri pokuse to dynamicky upraviť som napísal niečo také

					{$i = 0}
					<div n:foreach="$borowsers as $borowser" class="content">
					{if $i < 2}
						<div class="browserStat big">
					{else}
						<div class="browserStat">
					{/if}
					{$i++}
							<img src="{$basePath}/img/browser-ie.png" alt="Chrome">
							<span>{$borowser->number}%</span>
						</div>

Výsledok je totalne rozhadzany po stránke ? vedel by ste mi s tým poradiť?

Etch
Člen | 403
+
+4
-

Zaprvé ti tam chybý jeden </div> a zadruhé by to stejně bylo jednodušší udělat takhle

<div n:inner-foreach="$borowsers as $borowser" class="content">
    <div class="browserStat {if $iterator->counter < 2}big{/if}">
        <img src="{$basePath}/img/browser-ie.png" alt="Chrome">
        <span>{$borowser->number}%</span>
    </div>
</div>

Editoval Etch (13. 1. 2015 16:24)

norbe
Backer | 405
+
+5
-

Nebo ještě líp:

<div n:inner-foreach="$borowsers as $borowser" class="content">
    <div n:class="browserStat, $iterator->isFirst() ? big">
        <img src="{$basePath}/img/browser-ie.png" alt="Chrome">
        <span>{$borowser->number}%</span>
    </div>
</div>
Etch
Člen | 403
+
0
-

Souhlas… jen ti tam nesedí ta podmínka. ;)

Andurit
Člen | 131
+
0
-

Vynikajúce, ak tomu správne rozumiem tak $iterator sa vzdy zvyši o 1 tak ako by sa zvyšilo to $i ktoré som mal ja v príklade?

Andurit
Člen | 131
+
0
-

Ďakujem , pekný priklad

Etch
Člen | 403
+
0
-

Ano v cyklu foreach je automaticky dostupná proměná $iterator kde $iterator->counter je čítač průchodů počítaný od jedničky. Více můžeš najít tady