Zébrures avec PHPTAL?
-
11-07-2019 - |
Question
J'essaie PHPTAL et je souhaite générer un tableau avec des zébrures. Je passe en boucle dans un simple tableau d'associations php ($ _SERVER).
Notez que je ne veux pas utiliser jQuery ou quelque chose comme ça, j'essaie d'apprendre à utiliser PHPTAL!
Je le fais actuellement comme ceci (trop prolixe à mon goût):
<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>
En gros, je veux une sorte d’affectation conditionnelle à la volée, mais je ne suis pas sûr de la syntaxe.
La solution
Vous pouvez créer un modificateur d'expression en écrivant la fonction phptal_tales_evenodd ()
(voir phptal_tales ()
dans le manuel):
<td tal:attributes="class evenodd:repeat/item/odd">
Autres conseils
Eh bien, il me semble que j'ai ma propre réponse, même si je pense toujours que c'est plutôt moche:
<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>
Quelqu'un at-il quelque chose de plus gracieux à la recherche de PHPTAL?