From: Suresh V <suresh_vv@...>
1. Are you using "container" rather than "context" in your script? 2. You can pass your context as a "mycontext" parameter to your script.
I have this line of code in my page template for handling the 404 errors: <div align="center" tal:condition="here/hasSearchEngine"> I changed it thus: <div align="center" tal:condition="here/hasSearchEngine(mycontext)"> I tested the following script with "mycontext" as a passed parameter: return 0 catalog = '' try: catalog = getattr(mycontext, mycontext.superValues('ZCatalog')[0].id) except: pass if catalog: return 1 This threw an error concerning "mycontext". TIA, Javier ____________________________________________________________________________________ Have a burning question? Go to www.Answers.yahoo.com and get answers from real people who know.
In your script you could access the catalog as follows: afolder = context.restrictedTraverse('folderA/folderB/'+someLocalFolder) # pass 'someLocalFolder' as a parameter catalog = afolder.Catalog # assuming you have named your ZCatalog 'Catalog' Note: If this script is accessing a folder & catalog that is outside of the scope of the permissioned user (ie. not in the path that that user has permissions for), you will need to set a proxy role on the script hth Jonathan ----- Original Message ----- From: Javier Subervi To: zope@zope.org Sent: Tuesday, December 12, 2006 8:57 AM Subject: [Zope] Re: Preserving Context From: Suresh V <suresh_vv@...>
1. Are you using "container" rather than "context" in your script? 2. You can pass your context as a "mycontext" parameter to your script.
I have this line of code in my page template for handling the 404 errors: <div align="center" tal:condition="here/hasSearchEngine"> I changed it thus: <div align="center" tal:condition="here/hasSearchEngine(mycontext)"> I tested the following script with "mycontext" as a passed parameter: return 0 catalog = '' try: catalog = getattr(mycontext, mycontext.superValues('ZCatalog')[0].id) except: pass if catalog: return 1 This threw an error concerning "mycontext". TIA, Javier ------------------------------------------------------------------------------ Cheap Talk? Check out Yahoo! Messenger's low PC-to-Phone call rates. ------------------------------------------------------------------------------ _______________________________________________ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Javier Subervi wrote:
<div align="center" tal:condition="here/hasSearchEngine(mycontext)">
And where is mycontext defined? You will need a tal:define="mycontext here" or something.
I tested the following script with "mycontext" as a passed parameter:
return 0
catalog = '' try: catalog = getattr(mycontext, mycontext.superValues('ZCatalog')[0].id) except: pass
"Bare" except? You bad boy! Use except AttributeError: In fact remove the try/except and study the trace output. Suresh
participants (3)
-
Javier Subervi -
Jonathan -
Suresh V