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

在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.last}表示循环的最后一个元素.

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

 

我们在做分类循环的时候用的比较多的就是循环里面嵌套循环,如何使用双重循环.

请看下面的例子:
[php]
{foreach from = $test item =item}
{foreach from=$item.children item=child}
{$child.name}
{/foreach}
{/foreach}
[/php]

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

阅读剩余
THE END