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