[Zope] random object with properties

Dieter Maurer dieter@handshake.de
Wed, 22 Nov 2000 21:35:19 +0100 (CET)


Kevin Worth writes:
 > ><dtml-let photo="_.whrandom.choice(objectValues('Photo'))">
 > ><dtml-var photo>
 > ><dtml-with photo>
 > >   <dtml-if caption>....</dtml-if>
 > ></dtml-with>
 > >
 > 
 > This does not work with a "Photo" from the ZPhoto product.  Anyone 
 > know why?  It grabs the caption from the folder containing the Photo 
 > (which I created for testing this)  If I use the standard "Image" it 
 > works beautifully, and should work for my purposes.
Are you sure "ZPhoto" photos have a caption attribute/method?
And you are allowed to access them?

If so, they would behave really strange.
The "dtml-with" wraps the photo into an "InstanceDict" and
pushes it onto the namespace stack.
This means, that it is first asked for the "caption" object.
Only if it says "Sorry" the next object on the namespace stack
is asked. This is your folder.


Dieter