我正在尝试为包含{section} ... {/section}
块的多个表生成背景颜色,但如果我不为{cycle}
函数指定名称,则循环继续,而不是重新启动下次遇到它。当我在一个部分中使用命名循环和相同的命名循环重复时,会出现同样的问题。
示例:
{section name=i loop=$tables}
<table>
{section name=j loop=$tables[i].data}
<tr class="{cycle name=bgcolor values='odd_row,even_row'}">
..
..
..
</tr>
{/section}
</table>
{/section}
如何在{cycle}
的每次迭代中让{section name=j}
重置自己?是否可以在Smarty中撰写名称? (使用类似{cycle name=bgcolor.$i}
)
注意:我在一个.tpl中多次包含的另一个页面上遇到同样的问题,每次显示一个表格时,背景颜色周期从它离开的地方继续而不是重置它的自我。我知道这是正常行为(因为Smarty无法知道我的周期开始的地方),但我想改变它。
答案 0 :(得分:3)
像这样使用reset=true
:
{section name=i loop=$tables}
<table>
{cycle name=bgcolor print=false reset=true values='odd_row,even_row'}
{section name=j loop=$tables[i].data}
<tr class="{cycle name=bgcolor values='odd_row,even_row'}">
..
..
..
</tr>
{/section}
</table>
{/section}