Чередование зебры с PHPTAL?
-
11-07-2019 - |
Вопрос
Я пробую 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>
В принципе, я хочу получить какое-то условное назначение на лету, но я не уверен в синтаксисе.
Решение
Вы можете создать модификатор выражения, написав функцию 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?
Не связан с StackOverflow