ZPT / TAL / PHPTAL: Vise liste af elementer i mere end én kolonne
Den her er lidt svære at placere, da ZPT, TAL og PHPTAL ikke kun har noget med HTML at gøre, men alligevel...Hvis jeg har en liste af elementer, som jeg gerne vil vise, så er det nemt nok i én kolonne. Men hvad nu hvis jeg gerne vil fordele elemeterne ligeligt ud på f.eks. 4 kolonner?
Nedenstående eksempel virker, men mit spørgsmål går på: Kan det gøres mere elegant?
PS: Eksemplet er lavet med PHPTAL og benytter PHP kode i tal:condition attributterne. Jeg modtager gerne eksempler, hvor der f.eks. er brugt python kode. Jeg er ligeglad bare jeg får noget, der er pænere.
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="25%" valign="top">
<span tal:repeat="cat search/category_list" tal:omit-tag="">
<span tal:condition="php:repeat.cat.index lt repeat.cat.length / 4" tal:omit-tag="">
<a tal:attributes="href cat/url" tal:content="structure cat/caption"></a>
<br/>
</span>
</span>
</td>
<td width="16" nowrap=""></td>
<td width="25%" valign="top">
<span tal:repeat="cat search/category_list" tal:omit-tag="">
<span tal:condition="php:repeat.cat.index ge repeat.cat.length / 4 and repeat.cat.index lt repeat.cat.length / 4 * 2" tal:omit-tag="">
<a tal:attributes="href cat/url" tal:content="structure cat/caption"></a>
<br/>
</span>
</span>
</td>
<td width="16" nowrap=""></td>
<td width="25%" valign="top">
<span tal:repeat="cat search/category_list" tal:omit-tag="">
<span tal:condition="php:repeat.cat.index ge repeat.cat.length / 4 * 2 and repeat.cat.index lt repeat.cat.length / 4 * 3" tal:omit-tag="">
<a tal:attributes="href cat/url" tal:content="structure cat/caption"></a>
<br/>
</span>
</span>
</td>
<td width="16" nowrap=""></td>
<td width="25%" valign="top">
<span tal:repeat="cat search/category_list" tal:omit-tag="">
<span tal:condition="php:repeat.cat.index ge repeat.cat.length / 4 * 3" tal:omit-tag="">
<a tal:attributes="href cat/url" tal:content="structure cat/caption"></a>
<br/>
</span>
</span>
</td>
</tr>
</table>
