tal:repeat

Этот атрибут служит для циклов над перечисляемыми данными: массивами, ассоциативными массивами и перечисляемыми объектами в PHP5

Атрибут repeat поочередно пробегает по всем значениеям указанного ресурса (например, массива).

<tr tal:repeat="item some/result">
  <td tal:content="item">текст, который заменится значением из item</td>
</tr>

Внутри цикла можно использовать специальные ключевые слова repeat/*, чтобы получить доступ к информации об состоянии цикле (и всех внешних циклов).

Вот список допустимых ключевых слов:

в этих примерах, вместо названия "item" нужно использовать то же название, что и в выражении tal:repeat (tal:repeat="item some/result").

Одно из самых распространненных применений атрибута tal:repeat - отображение разультатов запроса к базе данных. Следующий пример сработает только в том случае, если playersRanking является объектом, реализующим интерфейс PHP Iterator:

<table>
  <thead>
    <tr>
      <th>Позиция</th>
      <th>Игрок</th>
      <th>Очки</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>