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