[Zope] Form variables with same name as folder names

Chris Withers chrisw@nipltd.com
Tue, 14 Nov 2000 10:29:11 +0000


"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