2012-01-24 17 views
30

próbuję zrobić zebra przeplot:Przyrost ogłosił całkowitą zmiennej

{% set counter = 0 %} 
{% for entity in entities %} 
    <tr class="{{ cycle(['odd', 'even'], counter) }}"> 
    {% counter++ %} 

ale ja dostaję błąd:

Unexpected tag name "counter" (expecting closing tag for the "for" tag defined near line 11)

Może ktoś podać mi rozwiązanie?

[EDIT]

Moje złe rozwiązanie jest tak proste:

{% set counter = counter + 1 %} 
+0

Czy to stolik? '

' – zkent

Odpowiedz

37

Jest łatwiejszy sposób, aby robić to, co chcesz:

{{ cycle(["even", "odd"], loop.index) }} 

Zobacz docs dla loop gadżety.

5

Jeśli chcesz mieć pełną kontrolę nad HTML, można spróbować to:

{% if loop.index is divisibleby(2) %} 
    ... 
{% endif %} 

Można go przeczytać tutaj: http://twig.sensiolabs.org/doc/tests/divisibleby.html

nuta że loop.index jest używany „jak jest”, to nie odnosi się do zmiennej, a raczej do ukrytego indeksowania pętli for.

+0

bardzo ładne! Dzięki – Barno