ecshop 中的foreach 咋用

也許是愚鈍,研究了一下午ecshop的使用。發現網上的信息很多都看不懂,不明瞭。總結一下我使用的foreach吧。

背景。我想將二維數組的按級別輸出,原始數據如下

array(2) {
 
  [1]=>
  array(3) {
    ["cat_id"]=>
    string(2) "11"
    ["attr_name"]=>
    string(6) "價格"
    ["attr_values"]=>
    array(5) {
      [0]=>
      string(11) "500-1500元"
      [1]=>
      string(12) "1500-2500元"
      [2]=>
      string(12) "2500-3500元"
      [3]=>
      string(12) "3500-4500元"
      [4]=>
      string(12) "4500-5500元"
    }
  }
  [2]=>
  array(3) {
    ["cat_id"]=>
    string(2) "11"
    ["attr_name"]=>
    string(6) "面積"
    ["attr_values"]=>
    array(4) {
      [0]=>
      string(12) "10㎡以下
"
      [1]=>
      string(9) "10~30㎡
"
      [2]=>
      string(9) "30~50㎡
"
      [3]=>
      string(8) "50~70㎡"
    }
  }

最終效果

最後的foreach語句(不完整,只是說明意思)

 <!--{foreach from=$arrtibute item=goods}-->
<dt>{$goods.attr_name}:</dt>
<dd class="select-all selected"><a href="javascript:void(null)">全部</a></dd>
                 <!--{foreach from=$goods.attr_values item=cat key=key}-->
                  <dd><a href="javascript:void(null)">{$cat}</a></dd>
                         <!--{/foreach}-->
</dl>
         <!--{/foreach}-->

foreach 中常用的幾個參數,from  item key 等。

from後面就是 php中assign過來的數組的數組名,例如$arrtibute 。

item是相當於$arrtibute的一個別名,起名goods。如果調用數組中相應的健,例如‘attr_name’那就直接{$goods.attr_name},ecshop的索引是自動增加的。不用像普通數組寫a[1],a[2],當然如果想制定某一個元素也可以這樣用。

key數組索引值,在遍歷過程中沒啥用,自動增加。但是要調用某一個元素還是有用的。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章