Hi Michael, Okay, here is a prime example of what I am trying to achieve! here's the code... (it's a snippet of a DTML method) <dtml-if "_.getattr(REQUEST,REQUEST.Variable)"> <dtml-in "REQUEST.CustomLinkFields"> <dtml-let Counter=sequence-index> <dtml-var "REQUEST.CustomLinkFields[Counter]">=<dtml-var "_.int(_.getattr(REQUEST,REQUEST.Variable))"> </dtml-let> </dtml-in> </dtml-if> "Variable" as var in memory, let's say it contains "SelectStudentID". Now... sometimes this DTML method (form) will be called from another form so the variable "Variable" set, and other times this variable will not be set! The idea is the middle line of code should print the contents of the variable "SelectStudentID" - if it exists. If it doesn't, I want Zope to ignore this line of code. I have to put the code [ _.getattr() ] inside quotes [ " ... " ], but if I do this then errors occur when I call the form without this variable set - as it doesn't exist. I got round the problem by hard-coding the variable name into the page, but I don't want to do this, I want DTML to look up the value for me, and act based on whether there is such a variable stored in the request, the way a normal <dtml-if Variable> would work - by not throwing up an error if the variable doesn't exist!! Hope this is now clearer, any enlightenment much appreciated!! Regards, Greg.
-----Original Message----- From: Michael [mailto:michael@nichestaffing.com] Sent: 24 August 2002 20:15 To: Greg Conway; Zope@Zope. Org Subject: Re: [Zope] dtml-if fustration!
This statement will check to see if SelectSID contains a value, if true, it will set the value, if false, it will not. I'm not really sure of what you're trying to do with [ SelectSID = <dtml-var SelectSID> ]
<dtml-if expr="selectSID"> <dtml-call "REQUEST.set('SelectSID',SelectSID)"> </dtml-if>
Michael
On Saturday 24 August 2002 10:56 am, Greg Conway wrote:
Hi all,
I have a fustrating problem with dtml-if's!! I've tried to work round it in many ways, but there is probably an easy one I am overlooking knowing my luck...
Anyway... Consider the following dtml-if statement:
<dtml-if SelectSID> SelectSID = <dtml-var SelectSID> <dtml-call "REQUEST.set('SelectSID', SelectSID)"> </dtml-if>
This works okay, and stores the variable SelectSID in the request for the code to pick up again on it's next pass.
However, on the next pass, the variable SelectSID doesn't exist! As the variable is now REQUEST.SelectSID - and the following code doesn't work....
<dtml-if "REQUEST.SelectSID"> SelectSID = <dtml-var SelectSID> <dtml-call "REQUEST.set('SelectSID', REQUEST.SelectSID)"> </dtml-if>
...as an error is thrown up if REQUEST.SelectSID doesn't exist!
Anybody got a simple answer to my dilemma?!!
Many thanks for any help!
Regards,
Greg Conway.
This electronic transmission and any files attached to it are strictly confidential and intended solely for the addressee. If you are not the intended addressee, you must not disclose, copy or take any action in reliance of this transmission. If you have received this transmission in error, please notify us by return and delete the same. Further enquiries/returns can be posted to postmaster@gmlnt.com Thank you.
_______________________________________________ Zope maillist - Zope@zope.org http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
This electronic transmission and any files attached to it are strictly confidential and intended solely for the addressee. If you are not the intended addressee, you must not disclose, copy or take any action in reliance of this transmission. If you have received this transmission in error, please notify us by return and delete the same. Further enquiries/returns can be posted to postmaster@gmlnt.com Thank you.