Zebra Striping com PHPTAL?
-
11-07-2019 - |
Pergunta
Eu estou tentando sair PHPTAL e quero prestar uma tabela com listras da zebra. Eu estou looping através de uma variedade php assoc simples ($ _SERVER).
Note que eu não quero usar jQuery ou qualquer coisa assim, eu estou tentando aprender o uso PHPTAL!
Atualmente eu tenho que trabalhar com isso (muito detalhado para o meu gosto):
<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>
Basicamente eu quero algum tipo de atribuição condicional na mosca, mas não estou certo da sintaxe.
Solução
Você pode criar modificador expressão escrevendo função phptal_tales_evenodd()
(veja phptal_tales()
no manual):
<td tal:attributes="class evenodd:repeat/item/odd">
Outras dicas
Bem, parece que eu tenho a minha própria resposta, embora eu ainda acho que isso é bastante feio:
<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>
Alguém tem alguma coisa mais graciosa procurando PHPTAL?