2012-07-12 50 views
1

我想要使用PHPTAL(easy)使用PHPTAL(easy)提供的类属性(简单)作为UL输出数据的数组,第一个和最后一个元素(简单)......所有在同一时间(困难)。使用PHPTAL为一个标签分配多个类

即,我想结合:

<ul tal:repeat="item items"> 
    <li class="${item/class}">${item/text}</li> 
</ul> 

与此

<ul tal:repeat="item items"> 
    <li tal:attributes="class repeat/item/first 'first'">${item/text}</li> 
</ul> 

<ul tal:repeat="item items"> 
    <li tal:attributes="class repeat/item/last 'last'">${item/text}</li> 
</ul> 

这是纯粹的表象的东西,所以我宁愿做纯粹PHPTAL。这可能吗?怎么样?

+0

链接到文档:http://phptal.org/manual/en/split/ – 2012-07-12 10:25:19

+0

@UgoMéda:在那里,阅读,仍然不明智。也许你可以链接到相关的部分,例如http://phptal.org/manual/en/split/tal-attributes.html - 这不会回答问题BTW。 – 2012-07-13 11:59:18

+0

我只是添加了这个帮助者的方便访问。帮不了你,对不起。 – 2012-07-13 12:03:40

回答

1

不,这里没有纯粹的TALES。

<li tal:attributes="class php:repeat.item.last ? 'last' 
          : (repeat.item.first ? 'first' : NULL)"> 
+0

啊哈!嵌套如果 - 人,没有想到他们的年龄。应该尽管工作,非常感谢。 :-) – 2012-11-29 10:53:59

1

这是一个很老的线程,但因为没有人提到它:一个“清洁”的方法可能是通过自定义修改。 (http://phptal.org/manual/en/split/custom-modifiers.html)。然后,你可以有:

<li tal:attributes="class css-ordinal:repeat.item"> 

,并作为一个好处,你可以重复使用,在其他的元素,因为它似乎是一个相当普遍的成语。