Чередование зебры с PHPTAL? - PullRequest
4 голосов
/ 25 ноября 2008

Я пробую PHPTAL и хочу визуализировать таблицу с полосками зебры. Я перебираю простой массив php assoc ($ _SERVER).

Обратите внимание, что я не хочу использовать jQuery или что-то подобное, я пытаюсь изучить использование PHPTAL!

В настоящее время у меня это работает так (слишком многословно на мой вкус):

<tr tal:repeat="item server">
  <td tal:condition="repeat/item/odd" tal:content="repeat/item/key" class="odd">item key</td>
  <td tal:condition="repeat/item/even" tal:content="repeat/item/key" class="even">item key</td>
  <td tal:condition="repeat/item/odd" tal:content="item" class="odd">item value</td>
  <td tal:condition="repeat/item/even" tal:content="item" class="even">item value</td>
</tr>

В принципе, я хочу какое-то условное назначение на лету, но я не уверен в синтаксисе.

Ответы [ 2 ]

3 голосов
/ 26 ноября 2008

Вы можете создать модификатор выражения, написав функцию phptal_tales_evenodd() (см. phptal_tales() в руководстве):

<td tal:attributes="class evenodd:repeat/item/odd">
2 голосов
/ 25 ноября 2008

Ну, похоже, у меня есть свой ответ, хотя я все еще думаю, что это довольно некрасиво:

<tr tal:repeat="item server">
  <td tal:content="repeat/item/key" tal:attributes="class php: repeat.item.odd ? 'odd' : 'even'">item key</td>
  <td tal:content="item" tal:attributes="class php: repeat.item.odd ? 'odd' : 'even'">item value</td>
</tr>

Кто-нибудь мог найти что-нибудь более изящное в поисках PHPTAL?

...