[Zope] alternating colors based on sequence-index of outer loop
hans
hans@beehive.de
Mon, 25 Mar 2002 16:01:24 +0000
John Hunter wrote:
> >>>>> "hans" == hans <hans@beehive.de> writes:
>
> hans> There is a prefix attribute to dtml-in, which allows you to
> hans> name the different sequence iterators.For details see
> hans> http://www.zope.org/Members/michel/ZB/AppendixA.dtml cheers
>
> Thanks, that is exactly what I am looking for. I am, however, having
> trouble using the sequence-var-variable syntax with prefixes from the
> outer loop. Eg, section_var_id gives a key error in the example
> below
>
> <dtml-in expr="Sections.objectValues('Section')"
> prefix="section">
>
> <dtml-in expr="_['section_item'].objectValues('Student')"
> prefix="student" sort="last_name">
> <tr>
> <dtml-if student_start>
> <th rowspan=<dtml-var student_length>><dtml-var section_var_id></th>
> </dtml-if>
>
> ...[snip]...
> </tr>
> </dtml-in>
> </dtml-in>
>
> although I can still access that value with
> <dtml-var expr="_['section_item'].id">
>
> Am I missing the syntax, or is there a problem using prefixes with the
> sequence-var-variable syntax?
yes.
there is no variable named "var_id" :-)
there is an attribute "id" to zope objects, usually accessed by object.id
(although the (newer) getId() method is recommended).
the object whose id you want is named "section_item".
inside a dtml-in, on each iteration this (and all the iteration infos)
are automagically pushed (and poped) onto the namespace "_",
so there is no need to "_['section_item']", section_item alone will do.
how about <dtml-var expr="section_item.id"> ?
-------------------------------------------------------------
Who's got only a hammer sees the world as a nail
hans augustin (software developer) hans@beehive.de
beehive elektronische medien GmbH http://www.beehive.de
phone: +49 30 847-82 0 fax: +49 30 847-82 299