Чередование зебры с PHPTAL?
Я пробую 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 ответа
Решение
Вы можете создать модификатор выражения, написав phptal_tales_evenodd()
функция (см. phptal_tales()
в ручную):
<td tal:attributes="class evenodd:repeat/item/odd">
Ну, похоже, у меня есть свой ответ, хотя я все еще думаю, что это довольно некрасиво:
<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?