[Zope] Re: silly DTML question: "in" test
Bill Seitz
fluxent at gmail.com
Mon Dec 10 12:54:31 EST 2007
OK, here's a next rev that's close.
So I started out saying I have a url-arg value. Let's call that 'key'.
And note that foo_col is a boolean field.
So now zSql IfShowNextDoor contains
SELECT foo_col FROM table where id=<dtml-sqlvar key type=int>
And then my DTML uses
<dtml-call "REQUEST.set('z',IfShowNextDoor()[0][0])">
(I avoid dtml-let because when you need to do it multiple times, the
nesting of the lets gets ugly.)
This works (setting value as 0 or 1).
(thanks to all for earlier replies: I tried posting this update
earlier but it didn't go through somehow)
On Nov 28, 2007 1:20 PM, Bill Seitz <fluxent at gmail.com> wrote:
> I'm trying to do something in a DTML-Method (in ancient Zope 2.6.2)
> that seems like it should be really simple, but I can't get it right.
>
> I want to see if a value (defined via url-arg) is in a list which is
> generated from an RDBMS query (field type=integer).
>
> The pseudo-code would be something like:
>
> if foo in (select foo_col from table where x=y)
> then z='t'
> else z='f'
>
> I tried putting the simple SELECT query into a zSql and then calling it like:
>
> <dtml-call "REQUEST.set('foo_list',IfShowNextDoor())">
> <dtml-if expr="foo in foo_list">
> <dtml-call "REQUEST.set('z','t')">
> <dtml-else>
> <dtml-call "REQUEST.set('z','f')">
> </dtml-if>
>
> But that doesn't work.
>
More information about the Zope
mailing list