Chris Withers wrote: > > Jim Fulton wrote: > > > So, if I give my product a class attribute of isDocTemp=1, what > > > signature should I give my product's __call__ method so it picks up the > > > DTML namespace? > > > > def __call__(self, ignored, md): ... > > Right, now if I call other DTML methods from my __call__ method, can I > just call them with: > > self.nav_header(self, ignored, md)? No: self.nav_header(None, md) > In any case, what is self in __call__(self, ...) and what should it be > in nav_header(self, ...)? Python method signatures always begin with an argument that is the instance to which they are bound. (snip) > > > In either case, what do I need to go to get hold of what would be > > > PARENTS[0-1], if you see what I mean? > > > > I don't see what you mean. > > > > myobject contains <dtml-var standard_html_header> > standard_html_header contains <dtml-var mynavigator> Is myobject a DTMLMethod? Some kind of container? I don't see how it can contain a var tag if it's not DTML. If it is DTML, I don't see where mynavigator fits in. > __call__ is a method of the Navigator product, of which mynavigator is > an instance. > > Anyway, in that __call__, self.REQUEST.PARENTS = > [zope-app,folder,object] (roughly) > > By PARENTS[0-1], I meant the myobject object, itself. Uh OK. > Hurm, I'm finding this hard to explain clearly, let me know if I'm > getting closer :-S OK, you've snipped the orignal question, so I'm off the hook. :) (I don't really know if you want me to comment on anything else here.) > > I think that if you say: > > > > <dtml-var > > > > that foo's namespace should take precedence over > > the DTML namespace, > > Okay, I see what you mean now :-) > > > > render? > > > > Well, a number of people have suggested that there should > > be a separate render (ie call as subtemlpate) interface. > > Maybe that's what what you meant. > > Nope... DT_Var.py line 258: > def render(self, md): > ...is what I think the people who mentioned it to me were talking about. Ok, well that's that's part of the DTML tag interface, which I assume you aren't interested in. (snip) > > > If there's an easier way to get this from within the __call__ method of > > > a python product, someone PLEASE tell me! ;-) > > > > aq_chain(x, 1)[-1:] should give this to you, I believe, or > > be very close. :) > > Won't that just return x? (hmm... does aq_chain return > [child,...,parent] or [parent,...,child]?) [child ... parent] > I think the hard part fo the problem I'm trying to solve is finding out > what x is from within the __call__ method. > > Any help muchly appreciated, sorry this is takign such a long time to > sort out in my head... ;-) The Zope debugger is your friend. It's a good way to find out some details like this. Jim -- Jim Fulton mailto:[EMAIL PROTECTED]-Dev maillist - [EMAIL PROTECTED] ** No cross posts or HTML encoding! ** (Related lists - )
- [Zope-dev] more __call__ ... Chris Withers
- [Zope-dev] Re: more __call__ ... Jim Fulton
- Re: [Zope-dev] more __call__ ... Chris Withers
- Re: [Zope-dev] more __call__ ... Jim Fulton
- Re: [Zope-dev] more __call__ ... Chris Withers
- [Zope-dev] More almost __call__ ;-) Chris Withers
- Re: [Zope-dev] More almost __call__ ;... Toby Dickenson
- Re: [Zope-dev] More almost __call... Chris Withers
- Re: [Zope-dev] More almost __... Jim Fulton
- Re: [Zope-dev] More almost __... Chris Withers
- Re: [Zope-dev] More almost __... Jim Fulton
- Re: [Zope-dev] More almost __... Shane Hathaway
- Re: [Zope-dev] More almost __... Jim Fulton
- Re: [Zope-dev] More almost __... Shane Hathaway