1:掌握foreach的使用,必須先了解下面幾個參數的作用,分別是from
,item name iteration index
from 參數是接受ecshop所傳遞過來的數組中的名稱;
item 參數表示當前元素的變量名
name 表示訪foreach屬性的 foreach循環名問
iteration 表示從1開始遍歷這個數組元素
index 表示從0開始遍歷這個元素
到底要如何使用foreach循環呢,我們舉例說明:
如果php要傳遞一個數組$array_data 給ecshop的smarty模板用來輸出數組中的值.這時我們將通過from=$array_data 來接收這個數組,寫法是{foreach from = $array_data item = item}
ecshop中smarty的下標怎麼表示呢,請看下面的例子:
{foreach from = $array_data item
= item name=name}
{$smarty.foreach.name.iteration}
{/foreach}
這裏的iteration就是從1開始的下標,這種寫法我們在做模版判斷的時候用的比較多, 判斷數組裏面的內容到底是從1開始,
還是從0開始。
如果要從0開始的下標,應該使用{$smarty.foreach.name.index},
你只要記住iteration
是數組下標從1開始遍歷,index是數組下標從0開始遍歷就可以了。
4:我們在嵌套模版的時候, 就靠 iteration 和index 這兩個參數是不夠的,如何判斷是否是foreach循環的開始和結束,最後一個元素.
{if $smarty.foreach.name.last}表示循環的最後一個元素.
{if $smarty.freach.name.first}表示循環的開始.
我們在做分類循環的時候用的比較多的就是循環裏面嵌套循環,如何使用雙重循環.
請看下面的例子:
{foreach from = $test item =item}
{foreach from=$item.children item=child}
{$child.name}
{/foreach}
{/foreach}
如果遍歷數組時,發現這個數組沒有值 測用 foreachelse