[ZPT] TALES: how to access a list?
Tom Deprez
Tom Deprez" <tom.deprez@uz.kuleuven.ac.be
Thu, 4 Oct 2001 15:35:32 +0200
Just a guess, since I'm on the learning curve of ZPT myself, but :
doesn't repeat/num/number gives you the number you need to have?
Tom.
----- Original Message -----
From: "Raymond Penners" <raymond@duologix.nl>
To: <zpt@zope.org>
Sent: Thursday, October 04, 2001 3:20 PM
Subject: [ZPT] TALES: how to access a list?
> Hi,
>
> I am definately in need of a Zope/ZPT guru here. I've spent all day
> trying, without any luck.
>
> Question:
> =========
> Suppose I have a variable "mylist", which is, of course, of type list.
> How do I access elements of that list through tales?
>
> "request/form/mylist/0" does not seem to work.
>
> Background:
> ========
> What I want to accomplish is the following: I have a form with a number
> of input fields, whose values are recorded as a list:
>
> <li tal:repeat="num python:range(10)">
> <input type="text" name="mylist:list" value=""
> tal:attributes="value FIXME">
> </li>
>
> Here, FIXME is some TALES expression that inserts the value mylist[num].
> If mylist[num] is not available (i.e. len(mylist)<=num), it should
> insert the empty string.
>
> Approaches so far:
> ==================
> 1) use "python:here.REQUEST.form.get('myval')[num]" for FIXME.
> This almost works, except that an exception occurs when num is larger
> than the length of myval.
> Since the "python:" expression is a one-liner, I don't see how I can use
> a try/catch construction here.
>
> 2) I've tried stuff like:
> - request/form/myval/0|nothing
> - python:here.path('request/form/myval/%d' % num)
>
> 3) Another attempt:
> python:test(here.path('request/form/myval') and
> len(here.path('request/form/myval'))>num,
> here.path('request/form/myval')[num], '')
>
> Why this fails is beyond me. It seems that for "python:test(cond,a,b)" I
> can only use simple values for "a" and "b", and not a complete python
> expression like above. If I do so, I get all sorts of errors.
>
> Help, anyone?
>
> PS: It's a bit off-topic for this list, but if you also happen to know
> what the PythonScript equivalent for the following DTML is: "<dtml-var
> index_html>", please let me know. I've tried stuff like "return
> container.documument_src()", but failed... thanks.
>
>
> _______________________________________________
> ZPT mailing list
> ZPT@zope.org
> http://lists.zope.org/mailman/listinfo/zpt