您的位置:首页 > 运维架构

ecshop模板循环foreach的使用方法…

2015-07-18 11:46 525 查看
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的下标怎么表示呢,请看下面的例子:

{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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: