php专区

 首页 > php专区 > PHP应用 > CMS建站 > ecshop模板循环foreach的使用方法及参数详解 - ecs

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

分享到:
【字体:
导读:
          在ecshop模版制作中foreach是比不可少的模版元素,当往往我们对foreach的了解不是很透彻,下面就来详细说明一下echsop中foreach的使用方法.1:掌握foreach的使用,必须先了解下面几个参数的作用...

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

  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.

分享到:
ECSHOP后台编辑器不能上传中文名图片的解...
ECSHOP后台编辑器不能上传中文名图片的解决办法 ECshop二次开发博客ECSHOP后台编辑器不能上传中文名图片的解决办法,在后台上传商品图片的时候,如果你选择一个中文名称的图片,那么上传后会产生乱码,导致图片显示不出来. 下面说一种解决办法:使用“年月日时分秒 + 6个随机字符”做为文件名,如 ...
讲一下ecshop里的$_CFG从哪来的 - ecshop
讲一下ecshop里的$_CFG从哪来的 以前经常有朋友问我,ecshop系统的$_CFG这个数组是从哪里来的,在哪里定义并赋值的. 下面就给大家说一下这个全局变量 $GLOBALS['_CFG']。 ecshop里的 $_CFG数组主要是存放一些系统参数,并且全站共享的数据,在使用的时候,常常以$GLOBALS['_CFG&...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……