[Zope] question on python script, dtml method and options

Erik Myllymaki erik.myllymaki at aviawest.com
Tue Jul 19 12:27:35 EDT 2005


I am using DTML only because I am using the excellent Calendar tag product.

sometimes, the links on the calendar tag get affected by from variables so as a 
hack i re-write the QUERY_STRING using:

request.RESPONSE.redirect(request['URL'] + '?mode-calendar=' + 
request['mode-calendar'] + '&date-calendar=' + request['date-calendar'] + 
'&location=' + request['location'])

instead of:

return container['MAIN'](context, request, error=error, message=message)

I originally left that detail out to avoid unnecessary confusion, but I think it 
might be the cause...ideas?





Peter Bengtsson wrote:
> On 7/19/05, Erik Myllymaki <erik.myllymaki at aviawest.com> wrote:
> 
>>I use the following template often. When using a page template for my MAIN page,
>>I access the error and message vars with:
>>
>><p tal:content="options/error">Error message</p>
>><p tal:content="options/message">Reg. Message</p>
>>
>>How would I access them when I use a dtml-method for my MAIN page?
>><dtml-var error> and <dtml-var message> don't seem to work.
>>
> 
> 
> That _should_ work. 
> In DTML, I think when you ask for something it does a options,
> REQUEST, context, acquisition context lookup all in one loop. In TAL
> you can't be lazy :( and you have to specify exactly where you expect
> it to come from.
> 
> Bare in mind that keyword arguments only span across ONE template
> where as variables in REQUEST span across ALL templates.
> 
> Doublecheck your template usage and/or send us your traceback.
> 
> 
>>Python Script - index_html:
>>
>># Import a standard function, and get the HTML request and response objects.
>>from Products.PythonScripts.standard import html_quote
>>request = container.REQUEST
>>RESPONSE =  request.RESPONSE
>>
>>error=''
>>message=''
>>
>>if not request.has_key('next_state'):
>>   return container['MAIN'](context, request, error=error, message=message)
>>
>>elif  request.get('next_state') == 'Do Something':
>>   try:
>>     doSomething()
>>     message = message + 'We did something'
>>   except:
>>     error = error + 'Error in doSomething()'
>>
>>
>>elif  request.get('next_state') == 'Do Something Else':
>>   try:
>>     doSomethingElse()
>>     message = message + 'We did something else'
>>   except:
>>     error = error + 'Error in doSomethingElse()'
>>
>>
>>return container['MAIN'](context, request, error=error, message=message)
>>
>>_______________________________________________
>>Zope maillist  -  Zope at 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 )
>>
> 
> 
> 


More information about the Zope mailing list