Подтвердить что ты не робот

Как создать CSS с помощью TEL?

Как я могу использовать шаблоны страниц Chameleon или Zope, чтобы легко создавать чередование зебры CSS? Я хочу добавить классы odd и even к каждой строке таблицы, но использование условия с repeat/name/odd или repeat/name/even выглядит довольно подробным даже с условным выражением:

<table>
   <tr tal:repeat="row rows" 
       tal:attributes="class python:repeat['row'].odd and 'odd' or 'even'">
       <td tal:repeat="col row" tal:content="col">column text text</td>
   </tr>
</table>

Это особенно утомительно, если у вас есть несколько классов для вычисления.

4b9b3361

Ответ 1

В реализации шаблона Zope Page Templates для переменной repeat имеется дополнительный документальный параметр parity, который содержит строку 'odd' или 'even', чередующуюся между итерациями:

<table>
   <tr tal:repeat="row rows" 
       tal:attributes="class repeat/row/parity">
       <td tal:repeat="col row" tal:content="col">column text text</td>
   </tr>
</table>

Это также гораздо проще интерполировать в строковое выражение:

tal:attributes="class string:striped ${row/class} ${repeat/row/parity}"

Это работает и в Хамелеоне.