Foreach v šabloně, 1. záznam

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

Zdravím,

mám jednu takovou menší otázku, v šabloně procházím pomocí foreach záznamy v DB … A potřebuji, aby když se jedná o první, hodilo to class active a u zbytku ne … Dle dokumentace jsem našel toto a použil tahle

<!-- Wrapper for slides -->
<div class="carousel-inner" n:foreach="$slide as $s">
	<div n:foreach="$s->related('soubory.slideshow_id') as $a" class="item {if $iterator->first}active{/if}">
        	<img src="{$a->cesta}" alt="placeholder">
	</div>
</div>

Bohužel podle zdrojáků to stále u všech záznamů ukazuje třídu active …

Napadá Vás něco? Přehlédl jsem něco?

Děkuji

Editoval wicked (8. 8. 2014 19:38)

Šaman
Člen | 2668
+
+2
-

Máš tam dva cykly, nesouvisí to s tím? Co ostatní slidy?

wicked
Člen | 290
+
0
-

Měl jsi pravdu, souviselo to s cykly …

<!-- Wrapper for slides -->
<div class="carousel-inner" n:foreach="$slide as $s">
	<div class="item {if $iterator->counter == 1}active{/if}">
		<img n:foreach="$s->related('soubory.slideshow_id') as $a" src="{$a->cesta}" alt="placeholder">
	</div>
</div>

Tahle to funguje :)

Šaman
Člen | 2668
+
0
-

Takhle už by ti měl fungovat i $iterator->first.

wicked
Člen | 290
+
0
-

Yop, máš recht, funguje

japlavaren
Člen | 404
+
+4
-

pouzi

<div n:class="item, $iterator->first ? active">

Editoval japlavaren (8. 8. 2014 20:42)

wicked
Člen | 290
+
0
-

Elegantnější :-)

mkoubik
Člen | 728
+
0
-

Hlavně ti to tam nenechá tu mezeru navíc když je ta podmínka false :-)

Zax
Člen | 370
+
0
-

Wow o tomhle jsem ani nevěděl, díky!

Teď můžu jít přepisovat všechny svoje class="btn{if $ajaxEnabled} ajax{/if}" :D