Prev |  | Next

### `tal:repeat`

This attribute handles iterable objects like arrays, associative arrays, and objects implementing the PHP5 `Iterator` class.

The `repeat` attribute repeats its element and its content until the end of the specified resource.

                <tr tal:repeat="item some/result"><td tal:content="item">text replaced by item</td></tr>

Within a loop, you can access the current loop information (and that of its parent for nested loops) using specific `repeat/ `*`` paths.

In the above example:

- `repeat/item/key` : returns the item's key if some/result is an associative resource (index otherwise)

- `repeat/item/index` : returns the item index (0 to count-1)

- `repeat/item/number` : returns the item number (1 to count)

- `repeat/item/even` : returns true if item index is even

- `repeat/item/odd` : returns true if item index is odd

- `repeat/item/start` : returns true if item is the first one

- `repeat/item/end` : returns true if item is the last one

- `repeat/item/length` : returns the number of elements in some/result

" `item`" depends on the receiver variable defined in `tal:repeat` expression.

The most common usage of `tal:repeat` is in using some SQL database result. The following code will work if `playersRanking` contains object that implements PHP's `Iterator` interface:

                <table><thead><tr><th>Position</th><th>Player</th><th>Score</th></tr></thead><tbody><tr tal:repeat="ranking playersRanking"><td tal:content="ranking/position"/><td tal:content="ranking/player"/><td tal:content="ranking/score"/></tr></tbody></table>

Prev | Up | Next
`tal:condition` | Home | `tal:omit-tag`