[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