微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – Smarty foreach计数器,3元素后复位

我想创建具有计数器和3“if”条件的foreach smarty循环.
在我的计数器值大于3之后,我想重置计数器值并返回到If的第一个条件

这是我的代码

{foreach $itemscollection as $singleitem name=smartyloop}
     {assign var="counter" value=$smarty.foreach.smartyloop.iteration}

     {if $counter == 1}
          <h1>I am the one</h1>
         {/if}
     {if $counter == 2}
         <h1>I am  second</h1>
     {/if}
     {if $counter == 3}
         <h1>I am  third</h1>
     {/if}
     {if $counter > 3}
     {$counter = 1}
     {/if]

 {/foreach}

所以例如,如果我有4个元素放入foreach输出应该看起来像

I am the one
I am second
I am third 
I am the one

现在它不起作用,我不知道为什么.
有人可以帮助我,并告诉如何解决这个问题?

解决方法:

{assign var=counter value=1}
{foreach $itemscollection as $singleitem name=smartyloop}
      {if $counter == 1}
          <h1>I am the one</h1>
      {/if}
      {if $counter == 2}
          <h1>I am  second</h1>
      {/if}
      {if $counter == 3}
          <h1>I am  third</h1>
      {/if}
      {if $counter > 3}
          {assign var=counter value=1}
      {/if]

      {$counter++}
{/foreach}

这可能会奏效

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐