我有一个包含名单列表的数组。在前端,必须以列出的方式列出。使用<ul> and <li>
代码。
列表的一半应显示在一个<ul>
标记下,另一半显示在另一个<ul>
标记下。
<ul>
<li>One</li>
<li>Two</li>
<li>Three</li>
</ul>
<ul>
<li>Four</li>
<li>Five</li>
<li>Six</li>
</ul>
现在问题出现在FLUID中,当数组循环一半元素时,我找不到结束<ul>
标记的方法。
我想做这样的事情
<f:for each="{my_array}" as="item">
<li>{item}</li>
<!-- if condition where count=(my_array%2) then use </ul><ul>-->
</f:for>
答案 0 :(得分:8)
我认为您应该在PHP中获取中间元素的id,然后您可以使用简单的if,如下所示:
它是f:for
的一个扩展版本。在这里,您可以查看iteration
属性。当您使用iteration.index时,它是元素的当前索引。但是你必须设置一个elementLimit。
iteration
有几个属性:isFirst,isLast,isEven,isOdd,total,cycle,index。
更新示例:
<f:for each="{my_array}" as="item" iteration="itemIterator">
<li>{item}</li>
<f:if condition="{itemIterator.index} = {elementLimit}">
</ul><ul>
</f:if>
</f:for>
答案 1 :(得分:0)
这应该有效。唯一的问题是当菜单条目数量奇怪时。
<f:for each="{my_array}" as="item" iteration="itemIterator">
<ul>
<li>{item}</li>
<f:if condition="{itemIterator.iterator}%({itemIterator.total}/2) == 0">
</ul><ul>
</f:if>
</ul>
</f:for>