当前位置:首页 > CMS教程 > ecshop > 列表

ecshop模板循环foreach的使用方法及参数详解

发布:smiling 来源: PHP粉丝网  添加日期:2014-11-18 14:44:45 浏览: 评论:0 

在ecshop模版制作中foreach是比不可少的模版元素,当往往我们对foreach的了解不是很透彻,下面就来详细说明一下echsop中foreach的使用方法.

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的下标怎么表示呢,请看下面的例子:

  1. {foreach from = $array_data item = item name=name}  
  2. {$smarty.foreach.name.iteration} 
  3. {/foreach//开源软件:phpfensi.com 

这里的iteration就是从1开始的下标,这种写法我们在做模版判断的时候用的比较多, 判断数组里面的内容到底是从1开始,还是从0开始.

如果要从0开始的下标,应该使用{$smarty.foreach.name.index},你只要记住iteration 是数组下标从1开始遍历,index是数组下标从0开始遍历就可以了.

2:我们在嵌套模版的时候,就靠 iteration  和index 这两个参数是不够的,如何判断是否是foreach循环的开始和结束,最后一个元素.

{if $smarty.foreach.name.last}表示循环的最后一个元素.

{if $smarty.freach.name.first}表示循环的开始.

我们在做分类循环的时候用的比较多的就是循环里面嵌套循环,如何使用双重循环,请看下面的例子:

  1. {foreach from = $test item =item} 
  2. {foreach from=$item.children item=child} 
  3. {$child.name} 
  4. {/foreach
  5. {/foreach

如果遍历数组时,发现这个数组没有值 测用 foreachelse.

Tags: ecshop模板循环 foreach参数

分享到: