[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
it?
-- 
Andrew Milton
akm at theinternet.com.au
    
    
More information about the Zope
mailing list