Hi Thanks for your answer. I think that my example was too general. Actually, in my case, myMethod is standard_html_header. So in my folderish object, standard_html_header is a python method - why I did this way?? it's a long story :) Your solution was one of my choices: whenever I call standard_html_header from other objects, to pass the object from where I make the call(like in your example). BUT, if I want to add other products instances in my folderish object and these are calling the standard_html_header normally (e.g. <dtml-var standard_html_header>) it will not work, because standard_html_header will be rendered in my folderish object's context. And I cannot modify any product that I use to make the call for standard_html_header with an extra parameter(e.g. caller form your example). I need a solution that will work in all cases, the call for standard_html_header to be made wihtout any extra parameter and the standard_html_header to be rendered in the context of the call. Regards, Dragos
I'd pass the caller explicitly, eg.:
in the Product:
class MyClass(...):
def myMethod(self, caller=None, ...): if caller is None: caller = self # do stuff with caller, eg. get a property: v = caller.some_property # ...
in folderMethod (ZPT):
<span tal:replace="python:here.myObject(caller=container, ... )" />
Dragos Chirila wrote:
Hi
I want to identify the object from where the call is made.
In my example the "caller" is the 'folder' object.
Regards Dragos
Please clarify: do you want to call the myMethod() method or are you talking of a HTTP Redirect?
Referer != Caller
Dragos Chirila wrote:
Hi All
I have a folderish python object that has a method. I want to be able to call this method using the context of the place I
call
it from and not the place where the method is.
Example: ROOT -----/ myObject (has a python method named myMethod) -----/ folder ----/folderMethod (ZPT)
I call myMethod of the myObject from the folderMethod of the folder
object.
I want to execute myMethod in the context of the folder object.
I don't want to use REQUEST['HTTP_REFERER'].
How can I identify the caller(referer) object of the myMethod?
Thanks a lot, Dragos
_______________________________________________ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )