分享

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

 总懂缘 2015-11-07
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 给ecshopsmarty模板用来输出数组中的值.这时我们将通过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}表示循环的开始.

 

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

请看下面的例子:

{foreach from = $test item =item}

{foreach from=$item.children item=child}
{$child.name}
{/foreach}
{/foreach}

 

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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多