假設你通過$ foo的其是與索引和迭代選項
{foreach from=$foo item=bar name=humbug}
{$smarty.foreach.humbug.index}
{$smarty.foreach.humbug.iteration}
{/foreach}
第一列是索引結果的陣列運行時,第二列是迭代結果
0 - 1
1 - 2
2 - 3
3 - 4
4 - 5
這意味着索引從0開始作爲其數組索引,其中迭代是從1開始的循環迭代計數。
使用錯誤值會導致問題的實例是在表格中顯示4行或其他任何數量的行。
使用索引會導致表格佈局錯誤。您將在循環的第一次迭代(索引0)上立即進行行更改,這將在第5次迭代(索引4)處自行糾正,但僅在當前佈局的範圍內,這意味着您的第一行只有1個單元格它。每隔一行將有4個單元格,並且在第一行之後的每個單元格中的數據將出現在表格4單元格中,比它應該做的晚。
{if $smarty.foreach.humbug.index is div by 4}
</tr><tr>
{/if}
使用迭代將鋪陳行更改正確給人4等於行,直到最後一次迭代或foreach循環。
{if $smarty.foreach.humbug.iteration is div by 4}
</tr><tr>
{/if}
在foreach循環之後,您只需簡單地添加一個表格行來完成最後一行。
我希望這可以幫助別人。
但因爲你從foreach循環得到'index',你的意思是它實際上只是1? – mario 2011-01-05 02:12:01
@mario是的,這就是我想要的。 – alex 2011-01-05 03:17:19
您也可以使用'{counter start = 1}'來代替索引。 – mario 2011-01-05 03:24:05