Thanks for that info. I've tried a couple of extra things (below) and if I'm reading the output right I thing you're correct about "items" returning a tuple, and "values" returning the object. When I do the repeat like this: <tr tal:repeat="item context/items"> <td tal:content="item">Name</td> </tr> The data presented look like this: (u'Property', <lettings.property.Property object at 0x027ABEF0>) However when I repeat over "values" instead of "items" like this: <tr tal:repeat="item context/values"> <td tal:content="item">Name</td> </tr> ... they change to this format: <security proxied lettings.property.Property instance at 0x027ABEF0> So, it looks to me like values is returning the contained item as single item, rather than a tuple of it... However, I still can't drag anything out of it. Having changed the tal:repeat to "item context/values", I have tried item/name, item/Name, item/getName, item/title, item/Title... All return "NotFoundError". I've googled, but am yet to find any Zope 3 specific documentation for ZPT - could anyone point me in the direction of some? (Or am I just doing something wrong that wouldn't have worked in Zope 2 either?!?) Thanks, Jim --- Tres Seaver <tseaver@palladion.com> wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Jim Vine wrote:
Hello,
Re-reading this, I realised I'd not provided much information on the "repeat" problem, so I'm filling in some gaps.
This works as I would expect:
<table border="1" width="80%"> <tr> <th>Number</th> </tr> <tr tal:repeat="item context/items"> <td tal:content="repeat/item/number">#</td> </tr> </table>
i.e., if it is repeating over a property folder with four objects in it, it produces a table headed "Number" and with 4 further rows with numbers 1, 2, 3, and 4 in.
However, as soon as I add any meat to it, e.g.:
<table border="1" width="80%"> <tr> <th>Number</th> <th>Name</th> </tr> <tr tal:repeat="item context/items"> <td tal:content="repeat/item/number">#</td> <td tal:content="item/Name">Name</td> </tr> </table>
I get an error which shows up on the error log as:
"TypeError: tuple indices must be integers"
Likely, 'context' is a dict, or a workalike, whose 'items' method returns a sequence of tuples. Therefore, during the tal:repeat, 'item' is a tuple, (key, value).
Try using 'values' instead of 'items'.
Tres. - --
===================================================================
Tres Seaver +1 202-558-7113 tseaver@palladion.com Palladion Software "Excellence by Design" http://palladion.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.5 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFCynuh+gerLs4ltQ4RAl5uAKCRzRzV+g1M8gcbV07jSNfCQbWbhgCg0nL4
2POVN4oUQepYUIQ+pR1IPRU= =fBFx -----END PGP SIGNATURE-----
_______________________________________________ Zope maillist - Zope@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 )
___________________________________________________________ How much free photo storage do you get? Store your holiday snaps for FREE with Yahoo! Photos http://uk.photos.yahoo.com