Domanda

Sto provando PHPTAL e voglio renderizzare un tavolo con strisce zebrate. Sto eseguendo il looping di un semplice array php assoc ($ _SERVER).

Nota che non voglio usare jQuery o qualcosa del genere, sto cercando di imparare a usare PHPTAL!

Attualmente lo faccio funzionare in questo modo (troppo dettagliato per i miei gusti):

<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>

Fondamentalmente voglio una sorta di assegnazione condizionale al volo, ma non sono sicuro della sintassi.

È stato utile?

Soluzione

Puoi creare un modificatore di espressione scrivendo la funzione phptal_tales_evenodd () (vedi phptal_tales () nel manuale):

<td tal:attributes="class evenodd:repeat/item/odd">

Altri suggerimenti

Beh, sembra che io abbia la mia risposta, anche se penso ancora che sia piuttosto brutto:

<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>

Qualcuno ha trovato qualcosa di più grazioso in cerca di PHPTAL?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top