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())


            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,


Zope-Dev maillist  -  [EMAIL PROTECTED]
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope )

Reply via email to