Smarty以奇数步骤进行迭代

时间:2013-11-17 07:56:56

标签: php foreach smarty iteration

我的代码:

    <div class="grid_3 {if $smarty.foreach.aussen.iteration ?????} alpha {/if}
{if $smarty.foreach.aussen.iteration % 4 == 0} omega {/if} "></div>

这很好用:

{if $smarty.foreach.aussen.iteration % 4 == 0} omega {/if} 

但我需要这个步骤1,5,9,13,18,23的公式:

{if $smarty.foreach.aussen.iteration ?????} alpha {/if}

2 个答案:

答案 0 :(得分:1)

嗯,我只是在猜这里,因为你的问题留下了一些疑问......如果我理解正确你就试图实现这个目标:

    <div class="grid_3 {if $smarty.foreach.aussen.iteration % 4 == 1}alpha{/if}
{if $smarty.foreach.aussen.iteration % 4 == 0}omega{/if}"></div>

答案 1 :(得分:0)

如果只有6个值你需要特别处理(1,5,9,13,18,23),那么就不要费心去创造一个公式:

{foreach name = "aussen" from = $some_array}
  <div class="grid_3 {if $smarty.foreach.aussen.iteration|in_array:array(1, 5, 9, 13, 18, 23)} alpha {/if}
  {if $smarty.foreach.aussen.iteration % 4 == 0} omega {/if}"></div>
{/foreach} 

Smarty 3,我不确定这是否适用于Smarty2,但即使它没有,只需进行非常小的调整即可