聪明的计数器

Counter in smarty

我想根据 FOR EACH 循环中的计数器值为变量赋值。 所以如果counter=1,那么我赋值'a',但是如果counter不为1,那么我赋值'b'.

这是我已经达到的程度,但是一旦我添加了条件并且计数器发生了变化,我的代码就崩溃了...

[{foreach from=$orderArticles item="currOrderArticle"}]
    [{if $counter == 1}]
        products_info.push(["transaction_id='a'"]);
        [{assign var="counter" value=2}]
    [{else}]
        products_info.push(["transaction_id='b'"]);
    [{/if}]
[{/foreach}]

Smarty 已经有 foreach 循环的迭代计数器

[{foreach $orderArticles as $currOrderArticle}]
  [{if $currOrderArticle@iteration == 1}]
   ... do something ...
  [{else}]
  ... do something else ...
  [{/if}]
[{/foreach}]

Smarty documentation for foreach

中阅读更多相关信息