我在tpl文件中有一个foreach循环代码,如下所示:
[{foreach from=$oView->getArticleList() item=actionproduct name=test_articleList}]
[{include file="inc/product_alt.tpl" product=$actionproduct testid="action_"|cat:$actionproduct->oxarticles__oxid->value test_Cntr=$smarty.foreach.test_articleList.iteration}]
[{/foreach}]
foreach循环中包含的文件product_alt.tpl
包含一个简单的div容器,并显示每个产品。现在我正在寻找一个解决方案,为每个第二个div容器添加一个额外的类。
我谷歌了一下,发现(我想是的)我必须与偶数和奇数一起工作。但我坚持如何将这完全应用于foreach循环,目标是每个secod div容器都获得额外的类。
答案 0 :(得分:2)
您正在寻找cycle
。例如,您可以在include语句中分配一个额外的$class
变量,该变量由assign更改,如下所示:
{cycle values='yourClass1,youClass2' assign='class'}
这可能是你奇怪/甚至想到的地方:手册说
{cycle values='odd,even' assign='class'}
但这些只是价值观。 Anyeay,你的变量'class'现在交替使用“yourClass1”和“yourClass2”(或奇数/偶数)作为内容。如果您将此分配给您的包含,然后添加类似
的内容<div class="{$class}">
你会得到交替的课程。其中一个是你想要的。另一个可能是空的..
查看周期手册:http://www.smarty.net/docsv2/en/language.function.cycle