【问题标题】:Zebra Striping with PHPTAL?斑马条纹与 PHPTAL?
【发布时间】:2008-11-25 05:06:18
【问题描述】:

我正在尝试 PHPTAL,我想渲染一张带有斑马条纹的表格。我正在循环一个简单的 php assoc 数组 ($_SERVER)。

请注意,我不想使用 jQuery 或类似的东西,我正在尝试学习 PHPTAL 的用法!

目前我的工作方式是这样的(对我来说太冗长了):

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

基本上我想要一些即时的条件赋值,但我不确定语法。

【问题讨论】:

  • 我喜欢斑马条纹这个名字。以前从未听说过,非常有意义。
  • 请注意,您可以在 CSS3 中处理这个问题,这很有优势,因为它将设计留给了设计师:tr:nth-child(odd) { background-color: #99ff99; }

标签: php template-tal phptal


【解决方案1】:

您可以通过编写phptal_tales_evenodd() 函数来创建表达式修饰符(参见手册中的phptal_tales()):

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

【讨论】:

    【解决方案2】:

    好吧,看来我有自己的答案,尽管我仍然认为这很丑:

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

    有人在寻找 PHPTAL 吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-06
      • 1970-01-01
      • 1970-01-01
      • 2014-07-02
      • 1970-01-01
      • 2011-09-17
      • 2023-04-03
      • 1970-01-01
      相关资源
      最近更新 更多