create a block macro [% MACRO alt_color(loop_count) BLOCK %] [% IF loop_count % 2 == 0 %] color1 [% ELSE %] color2 [% END %] [% END %] in your template you do loop.count is a special property of the iterator [% FOREACH thing = things %] [% thing %] [% END %] #### colorcolor2> thing you need to make sure you have loop_context_vars set to 1 in H::T to have access to __ODD__/__EVEN__