[Zope] help! dtml-if question
Dr. Anthony Monta
amonta@regents.state.la.us
Wed, 04 Oct 2000 10:45:55 -0500
Hi,
I've tried to find a solution myself but now am stuck. I created a little
"Blurb" product for a university department website so that faculty members
can announce recent publications on the department's homepage. They create
these ZClass instances in their own folders, and a DTML method in the
top-level folder grabs and displays them at random. (I want to avoid using
ZCatalog for the time being.) What the method does is randomly choose a
faculty folder, and then randomly choose a Blurb instance within that
folder. Here's the hack I came up with:
<dtml-with Dept>
<dtml-with Fac>
<dtml-with Sites>
<dtml-with "_.whrandom.choice(objectValues(['Folder']))">
<dtml-with "_.whrandom.choice(objectValues(['Blurb']))">
<dtml-var index_html>
(end tags omitted)
The problem is that this method will produce an Index Error when it comes
across a folder that doesn't contain an instance of "Blurb" class. So I
need to make the selection of a folder conditional on Zope's finding a
Blurb in that folder. Here's what I tried after reading up:
<dtml-with Dept>
<dtml-with Fac>
<dtml-with Sites>
<dtml-with "_.whrandom.choice(objectValues(['Folder']))">
<dtml-if "_.has_key('Blurb')">
<dtml-with "_.whrandom.choice(objectValues(['Blurb']))">
<dtml-var index_html>
</dtml-with>
<dtml-else>
Some default Blurb would appear.
This method fails. Can someone help?
Cheers,
Anthony
~~~~~~~~~~~~~~~~
Anthony Brietz Monta
Coordinator of Curricular Assessment & Academic Reporting
Louisiana Board of Regents
150 Third Street, Suite 129
Baton Rouge, LA 70801-1389
225.342.4253, ext. 143
amonta@regents.state.la.us