¿Rayado de cebra con PHPTAL?
-
11-07-2019 - |
Pregunta
Estoy probando PHPTAL y quiero renderizar una tabla con rayas de cebra. Estoy recorriendo una simple matriz php assoc ($ _SERVER).
Tenga en cuenta que no quiero usar jQuery ni nada de eso, ¡estoy tratando de aprender el uso de PHPTAL!
Actualmente lo tengo funcionando así (demasiado detallado para mi gusto):
<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>
Básicamente quiero algún tipo de asignación condicional sobre la marcha, pero no estoy seguro de la sintaxis.
Solución
Puede crear un modificador de expresión escribiendo la función phptal_tales_evenodd ()
(consulte phptal_tales ()
en el manual):
<td tal:attributes="class evenodd:repeat/item/odd">
Otros consejos
Bueno, parece que tengo mi propia respuesta, aunque sigo pensando que esto es bastante feo:
<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>
¿Alguien tiene algo más elegante buscando PHPTAL?
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow