RE: [Zope] Form variables with same name as folder names
On Tue, 14 Nov 2000, "Burwell, Becky wrote:
This working UNTIL I created a Folder named FOO. Then the value of FOO in the Z SQL method seemed to be the FOO folder and not FOO from REQUEST. My workaround was to call the variable FOOCHECKBOX.
2) is there some way I could have referred to the variable FOO in my Z SQL method without resorting to renaming the variable in my form?
A sneaky problem indeed, and once again, one caused by "convenient" shortcuts. (o8
The simple answer: use REQUEST.form['FOO'] to refer to the form variable.
I just did an experiment and if I do the following my SQL Method: <dtml-if REQUEST.form['FOO']> this is never true. If I do: <dtml-if "REQUEST.form['FOO']"> or <dtml-if "REQUEST.form['FOO]=='1'"> I get name errors with REQUEST being unknown. The REQUEST.form thing works in the DTML document that calls the SQL method but not in the SQL method itself. *becky*
"Burwell, Becky " wrote:
The simple answer: use REQUEST.form['FOO'] to refer to the form variable.
I just did an experiment and if I do the following my SQL Method: <dtml-if REQUEST.form['FOO']>
this is never true.
...because you're missing some " " REQUEST.form['FOO'] is a python expression. <dtml-if REQUEST.form['FOO']> is short for <dtml-var name="REQUEST.form['FOO']"> so, unless you have a folder or document names 'REQUEST.form['FOO']', it will return false :-S What you want is <dtml-if "REQUEST.form['FOO']">, which is short for <dtml-if expr="REQUEST.form['FOO']">. This evaluates expr as a python expression...
If I do: <dtml-if "REQUEST.form['FOO']"> or <dtml-if "REQUEST.form['FOO]=='1'">
I get name errors with REQUEST being unknown.
...an oddity of ZSQL methods :-( The REQUEST usually gets made available in the namespace, but in ZSQL methods, only the parameters your specify as 'arguments' get added to the namespace. At a guess, try adding REQUEST to the 'Arguments' list... good luck, Chris
participants (2)
-
Burwell, Becky <burwell@parc.xerox.com> -
Chris Withers