你好我想为每个第3个元素应用一个特定的类,下一个获得第三个元素很容易我用
{if $smarty.foreach.products.index % 3}omega{else}
但让下一个变得棘手,我尝试了
{if $smarty.foreach.products.index % 3+1}omega{else}
但不起作用,你知道什么是正确的写作方式吗?
答案 0 :(得分:0)
我现在不能尝试,但它应该是
{if($ smarty.foreach.products.index-1)%3 == 0} omega {else}
当指数= 4,7,10 ......时,你应该得到欧米茄。
答案 1 :(得分:0)
使用迭代和索引:
{if $smarty.foreach.products.iteration is div by 3 or $smarty.foreach.products.index is div by 3}omega{/if}
迭代从1(1,2,3,...)开始计数,所以第三个元素将获得该类,并且当索引开始计数为0(0,1,2,3,...)时,第4个元素也将获得类
在http://www.smarty.net/docsv2/en/language.function.foreach.tpl
了解有关foreach的更多信息答案 2 :(得分:0)
使用.iteration
iteration包含当前循环迭代并始终从 一,不像索引。它在每次迭代时递增1。
Smarty 3
{foreach $myArray as $foo}
{if $foo@iteration % 3 == 0}
Smarty 2
{foreach from=$myArray item=i name=foo}
{if $smarty.foreach.foo.iteration % 3 == 0}