[Zope] alternating colors based on sequence-index of outer loop
Dmitry Litovchenko
Dmitry Litovchenko <deadq@bkzebra.com>
Tue, 26 Mar 2002 01:55:18 +0200
Try the following
<dtml-in expr="Sections.objectValues('Section')" mapping>
<dtml-if sequence-even>
<dtml-call "REQUEST.set ('dcolor', '#EEEEEE')">
<dtml-else>
<dtml-call "REQUEST.set ('dcolor', '#DDDDDD')">
</dtml-if>
<dtml-in expr="_['sequence-item'].objectValues('Student')" mapping>
<tr bgcolor=<dtml-var dcolor>>
..Fill in the row..
</tr>
</dtml-in>
</dtml-in>
I hope you wrote <dtml-in> loops with no mistakes :) I corrected only
the row coloring code part.
--
Dmitry
> I have a folder called Sections that is filled with Section instances.
> Each Section contains a variable number of students, and I want all
> the students in a given section to have the same row color in my
> table, with sections alternating colors.
> I have nested dtml-in loops over the sections and students in each
> section, and want the rows of my table to alternate in batches
> depending on whether the outer loop is even or odd. Basically, I need
> to do a dtml-let in the outer loop that the inner loop will access,
> but am having trouble with the syntax.
> Here is some example dtml with pseudo code to set the default_color
> <dtml-in expr="Sections.objectValues('Section')" mapping>
> <dtml-if sequence-even>
> default_color="gray"
> <dtml-else>
> default_color="white"
> </dtml-if>
> <dtml-in expr="_['sequence-item'].objectValues('Student')" mapping>
> <tr default_color>
> ..Fill in the row..
> </tr>
> </dtml-in>
> </dtml-in>
> Thanks for any help,
> John Hunter