[Zope] RE: where has the REQUEST-object gone???

Andy Pahne ap@net22.net
Mon, 8 May 2000 14:54:52 +0200


OK, I found the solution in the FAQ. It was just a matter of calling the
helper-method get_text

the solution was:

  <dtml-var "get_text(_.None, _, id_to_get=xxxx)">


Andy


----- Original Message -----
From: Andy Pahne <ap@net22.net>
To: <zope@zope.org>
Sent: Monday, May 08, 2000 2:38 PM
Subject: where has the REQUEST-object gone???


>
>
> hi,
>
> at the moment we are builduing a database-enabled three-language website.
we
> have the contents (texts) for the site already in a database. I wrote a
> Z-SQL-Method  sql_get_text which takes id_to_get as argument. So, when I
> call
>
>   <dtml-in "get_text(id_to_get=xxxx)">
>      <dtml-var text_value>
>   </dtml-in>
>
> I get the text I was looking for. (Note that this ZSQL-method will return
> only one result, because id_to_get is the primary key of the database
table
> and therefore unique).
>
>
> I wanted to make things a bit easier for the people who generate the
> templates for the site. So I coded a helper-method named get_text which
also
> takes id_to_get as argument. It holds exactly the code-snippet from above.
> By doing so I wanted the HTML-Coders to type
>
>  <dtml-var "get_text(id_to_get=xxxx)">
>
> so that they do not have to worry about the dtml-in-tag. It did not work.
I
> get an error-message that Zope can not find the ZSQL-method sql_get_text
> method. Here is the traceback:
>
> Traceback (innermost last):
>   File /usr/local/src/Zope-2.1.6-src/lib/python/ZPublisher/Publish.py,
line
> 214, in publish_module
>   File /usr/local/src/Zope-2.1.6-src/lib/python/ZPublisher/Publish.py,
line
> 179, in publish
>   File /usr/local/src/Zope-2.1.6-src/lib/python/Zope/__init__.py, line
202,
> in zpublisher_exception_hook
>     (Object: ElementWithAttributes)
>   File /usr/local/src/Zope-2.1.6-src/lib/python/ZPublisher/Publish.py,
line
> 165, in publish
>   File /usr/local/src/Zope-2.1.6-src/lib/python/ZPublisher/mapply.py, line
> 160, in mapply
>     (Object: content)
>   File /usr/local/src/Zope-2.1.6-src/lib/python/ZPublisher/Publish.py,
line
> 102, in call_object
>     (Object: content)
>   File /usr/local/src/Zope-2.1.6-src/lib/python/OFS/DTMLMethod.py, line
150,
> in __call__
>     (Object: content)
>   File
> /usr/local/src/Zope-2.1.6-src/lib/python/DocumentTemplate/DT_String.py,
line
> 502, in __call__
>     (Object: content)
>   File
/usr/local/src/Zope-2.1.6-src/lib/python/DocumentTemplate/DT_Util.py,
> line 335, in eval
>     (Object: _['content-ms'])
>     (Info: _)
>   File &lt;string&gt;, line 0, in ?
>   File
/usr/local/src/Zope-2.1.6-src/lib/python/DocumentTemplate/DT_Util.py,
> line 161, in careful_getitem
>   File /usr/local/src/Zope-2.1.6-src/lib/python/OFS/DTMLMethod.py, line
146,
> in __call__
>     (Object: content-ms)
>   File
> /usr/local/src/Zope-2.1.6-src/lib/python/DocumentTemplate/DT_String.py,
line
> 502, in __call__
>     (Object: content-ms)
>   File
/usr/local/src/Zope-2.1.6-src/lib/python/DocumentTemplate/DT_Util.py,
> line 335, in eval
>     (Object: get_text(id_to_get='AXIN_001'))
>     (Info: get_text)
>   File &lt;string&gt;, line 0, in ?
>   File /usr/local/src/Zope-2.1.6-src/lib/python/OFS/DTMLMethod.py, line
146,
> in __call__
>     (Object: get_text)
>   File
> /usr/local/src/Zope-2.1.6-src/lib/python/DocumentTemplate/DT_String.py,
line
> 502, in __call__
>     (Object: get_text)
>   File
/usr/local/src/Zope-2.1.6-src/lib/python/DocumentTemplate/DT_With.py,
> line 132, in render
>     (Object: REQUEST)
> KeyError: (see above)
>
>
>
> My next idea was:
>
> <dtml-with REQUEST>
>   <dtml-in "get_text(id_to_get=xxxx)">
>      <dtml-var text_value>
>   </dtml-in>
> </dtml-with>
>
> I don't know why, but the <dtml-with REQUEST> fixed a lot of errors
before,
> so I just gave it a try. But then I received and error-message telling me
> that I am trying to refference the non-existing object REQUEST.
>
> Now, why doesn't it find my method and why did the REQUEST-object
> disappear???
>
> PS: I am doing Zope for half a year now but the namespace-stack is still
> mysterious to me.
>
>
> Andy Pahne, ap@net22.net
>
> net22 GmbH
> Bad Meinberger Strasse 1
> 32760 Detmold
> 0 52 31 - 580 640
>
> http://www.net22.net
>