Charlie Wilkinson writes:

After RTFMing and flailing at DTML all night, I'm about stumped.
No pun intended.

I'm trying to use dtml-tree to create a selective menu of objects based
on whether or not the object has an "add_to_menu" property.  I've pretty
much figured out that I need a wrapper around objectValues that will
filter out the objects that don't have the "add_to_menu" property.
This wrapper would be called with dtml-tree's "branches" attribute.
I'm trying to do this wrapper in a DTML method and I've gotten all the
way to where I have to return a list of "actual objects", so says the
DTML Quick Reference.

Is there someone who could 'splain to me how to build a list of objects
in DTMLese?

Here's what I have so far (obviously not working):

<dtml-call "REQUEST.set('ret', '')">
<dtml-in "objectValues()" sort=id>
    <dtml-if "_.has_key('add_to_menu')">
      <dtml-call "REQUEST.set('ret', ret + ' ' + _['sequence-item'])">
<dtml-return "_.string.split(ret)">

Try (yes, this is tested):
<dtml-call "REQUEST.set('ret', '')">
 <dtml-in "objectValues()" sort=id>
     <dtml-if "_.has_key('add_to_menu')">
       <dtml-call "ret.append(id)"> 
<dtml-return ret>

Two notes:
- the string approach is an unnecessary hack. I changed it to standard
Python list idiom
- if you append sequence-item it will include your whole method, which
presumably is not what you want in your tree. Use id.



Zope maillist  -  [EMAIL PROTECTED]
**   No cross posts or HTML encoding!  **
(Related lists - )

Reply via email to