[Zope] Call PageTemplateFile class instances

Andrew Milton akm at theinternet.com.au
Thu Nov 13 12:19:36 EST 2008

+-------[ 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

Andrew Milton
akm at theinternet.com.au

More information about the Zope mailing list