[Zope] In DTML, no cookie then default. How?
Phil Harris
phil.harris@zope.co.uk
Wed, 20 Jun 2001 14:25:12 +0100
Simon,
try something like (untested):
<dtml-unless thing_cookie>
<dtml-call "REQUEST.set('thing_cookie','default value for the cookie')">
</dtml-unless>
You may need to change the unless stuff, to something like <dtml-unless
"REQUEST.cookies.has_key('thing_cookie')">, or similar.
hth
Phil
phil.harris@zope.co.uk
----- Original Message -----
From: Blandford, Simon [BSS Audio UK]
To: 'zope@zope.org'
Sent: Wednesday, June 20, 2001 2:10 PM
Subject: [Zope] In DTML, no cookie then default. How?
Hi,
I have worked out how to store cookies and retreive them in DTML to store
preferences on a form.
Question.
If the cookie isn't there yet or gets deleted/rejected etc. How do I insert
a default value into the name space?
What I need is something like...
if <thing> isn't there then <thing>=some default value.
What would solve my problems would be if <dtml-let> didn't need a closing
</dtml-let>.
Background...
This cookie is used to enter a preference value in a form, thus...
<tr>
<th align="left">Batch Size</th>
<td><input type='integer' name='batch_size:int' size=2
value="&dtml.missing-batch_size;" /></td>
</tr>
When the form is entered the cookie is set to the value inserted by the
user, thus...
<dtml-if "REQUEST.has_key('batch_size')">
<dtml-call "RESPONSE.setCookie('batch_size', batch_size, expires='Wed, 19
Feb 2020 14:28:00 GMT')">
</dtml-if>
When the user comes back to the form, the value of batch_size is magically
read from the cookie as a default again.
Problem...
The form is called for the first time so there is no cookie. How do I set
batch_size to a default value?
Regards,
Simon.