Wyatt Anderson escribió:
Hello All,
I am trying to use ZPT within a Zope Product I am trying to build.
I want to test the container type I am addding to to determine what
action to take. The following though
from Products.PageTemplates.PageTemplateFile import PageTemplateFile
def manage_addMyContainerForm(self, REQUEST):
pt = None
if self.meta_type in [‘ContainerType1’, ‘ContainerType2’]:
pt = PageTemplateFile(‘zpt/addMyContainerForm’, globals())
else:
pt = PageTemplateFile(‘zpt/containerError’, globals())
return pt.pt_render()
This produces the following traceback in Zope:
Traceback (innermost last):
Module ZPublisher.Publish, line 100, in publish
Module ZPublisher.mapply, line 88, in mapply
Module ZPublisher.Publish, line 40, in call_object
Module Products.MyContainer.MyContainer, line 17, in manage_addMyContainerForm
Module Products.PageTemplates.PageTemplate, line 90, in pt_render
- <PageTemplateFile at containerError>
Module Products.PageTemplates.PageTemplateFile, line 73, in pt_getContext
TypeError: 'str' object is not callable
I’ve checked out the code in PageTemplate.py and PageTemplateFile.py and can’t
figure out what is going on. The line in question is
root = self.getPhysicalRoot()
Is it possibly some security thing? My class is setDefaultAccess(‘allow’) for now.
I’ve also tried simply
return pt
with no traceback but without the desired results as the object is returned.
Thanks in advance,
Wyatt
Try return pt() Santi Camps