+-------[ Peter Bengtsson ]---------------------- | I've kind of work it out. The trick is to write some boiler plate in | the class definition like this:: | | from zope import traversing, component, interface | from zope.interface import implements | from zope.traversing.interfaces import ITraversable | | from Products.PageTemplates.PageTemplateFile import PageTemplateFile | class MyProduct(Folder): | | implements(ITraversable) | component.provideAdapter( | traversing.adapters.DefaultTraversable, | (interface.Interface,),ITraversable) | | meta_type = "bla" | page = PageTemplateFile('zpt/foo.pt', globals()) | | def render_page(self): | html = self.page(self.REQUEST) # ERROR!!
why do you do this double shuffle anyway, when you can directly call "page" and protect it if necessary... I certainly don't have the issue you're describing and I don't need to do all that implements garbage either. Are you sure you don't have some Product installed that's messing with it? -- Andrew Milton [EMAIL PROTECTED] _______________________________________________ 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 )