最近剛接觸ecshop不久,感覺是非常的強大,做商城網站,整個流程都差不多搞好了,就是支付流程要自己完善完善,不過也有不足,文章功能還不夠好。
通過幾天的應用,總結出了ec模版中foreach的常見用法。
foreach 語法:
假如后台:$smarty->assign('test',$test);
{foreach from=$test item=list name=listone}
<p>{$list}</p>
{/foreach}
from 表示assign過來對應的第一個參數'test',item 就是下面要循環的變量,name是用於訪問foreach屬性的foreach循環的名稱,key當前鍵名的變量名。
但是我們經常會看到這樣的寫法:
<!--{foreach from=$test item=list name=listone key=key}-->
<p>{$list}</p>
<!--{/foreach}-->
其實這兩種都是一樣的,只是加了 <!-- --> 之后,你有沒有發現用dreamwearver打開這些語句會以注釋一樣的灰色顯示,這樣一眼能看出標簽;還有就是調試模版時候,用瀏覽器打開,加了<!-- -->會注釋掉if foreach等這些,而不影響模版原來的樣子,更能方便調試模版。
多重循環(兩次循環):
<!--{foreach from=$categories item=list}-->
<!--{foreach from=$list.cat item=cat}-->
<a href="{$cat.url}">{$cat.name}</a>
<!--{/foreach}-->
<!--{/foreach}-->
只循環出前兩條數據:
<!--{foreach from=$categories item=list name=catlist}-->
<!--{if $smarty.foreach.catlist.iteration<2}-->
<a href="{$list.url}">{$list.name}</a>
<!--{/if}-->
<!--{/foreach}-->
foreachelse :
<!--{foreach from=$categories item=list}-->
<a href="{$list.url}">{$list.name}</a>
<!--{foreachelse}-->
<p>no data</p>
<!--{/foreach}-->
如果{foreach from=$categories item=list}一條數據也沒有,那么就執行下面的{foreachelse}{/foreach}里面的內容。
暫時總結這么多,畢竟我也還是新手,希望能給剛入門的朋友一些幫助!
章出自:http://www.daixiaorui.com/read/48.html 本站所有文章,除注明出處外皆為原創,轉載請注明本文地址,版權所有。