2013-12-19 4 views
38

Chameleon 또는 Zope Page Templates를 사용하여 CSS 제브라 스트라이핑을 쉽게 만들 수 있습니까? 나는 테이블의 각 행에 oddeven 클래스를 추가하기를 원하지만 repeat/name/odd 또는 repeat/name/even와 조건을 사용하여도 조건식과 다소 장황 같습니다TAL로 얼룩말 줄무늬 CSS를 만드는 방법은 무엇입니까?

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

이것은 당신이 계산하는 여러 클래스가있는 경우 특히 지루한 도착 .

+8

추 신. 어떤 사람들은 내가 게시 한 직후에 내 자신의 질문에 대답하는 것이 잘못되었다고 생각할 수도 있습니다. 하향 투표하기 전에 [질문하고 질문에 대답 할 수 있음] (http://blog.stackoverflow.com/2011/07/its-ok-to-ask-and-answer-your-own-questions/)을 읽어보십시오. . –

답변

25

반복 번갈아 당신에게 문자열 'odd' 또는 'even'을 제공보다 repeat 변수의 조프 페이지 템플릿 구현은, 언더 문서화 추가 매개 변수, parity 있습니다

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

카멜레온에서도 잘 작동합니다.