A common problem is getting the tag to do something sensible ;-). The first thing to mention, which seems to be the big surprise for many, is that does not behave like Python's {{{for}}} construct. Many people expect to be able to turn {{{for person in people: print person}}} into {{{}}}. Sorry, but that does not work. To iterate over a list of people the most basic form of the tag would be: {{{ ... }}} The most important thing to understand is that the ''iter'' attribute is '''''not''''' the name of the current item from the list, it is the name of an iterator of type ListIterator. ListIterator provides a number of methods that describe the context of the loop. The most useful of those methods is value() which returns a reference to the current item from the list which, if you've needed to read this far, is probably what you were looking for. So, the equivalent of: {{{ for person in people: print person }}} is {{{
}}} Many people find {{{people_iter.value()}}} a little verbose when used more than once. A common way of making that a little more readable is to define another variable, ''person'', using the tag. {{{
}}} Note that you can call the iterator whatever you want, I have used ''people_iter'' to make its purpose clear but it could equally be called ''iter'' or even ''i''. For further information refer to: * [[http://object-craft.com.au/projects/albatross/albatross/tag-for.html|al-for]] * [[http://object-craft.com.au/projects/albatross/albatross/tag-for-listiter.html|ListIterator]]