Variable keys in dictionaries with Page Templates TALES syntax
Wed, Feb 11, 2009,
200 Words
I admit, I didn't knew this until now. In the following construction:
<div tal:content="somedict/keyname/someattr" />
"keyname" is taken as a string, it's the literal name of the key for the somedict mapping. To use a variable instead of the literal value of the key name, I used to do:
<div tal:content="python somedict[key].someattr" />
Browsing through the zope.app.catalog code, I saw that there's actually a way to use the TALES syntax:
<div tal:content="somedict/?key/someattr" />
I'm not sure that this works with TTW code in Zope 2 (I expect that it works with browser views), so I'll just have to try this next time I have the chance.