在ecshop模板制作中经常会用到 foreach ,也经常到看论坛里有人在问 foreach的使用方法,
4 d6 y* i. w' G5 A/ O/ r8 B( y本文中我们通过结合示例,来谈谈ecshop模板如何使用foreach循环, 让你更加明白foreach循环在ecshop模板中的重要性。
) z2 ?8 x A6 W) I# b" C4 c- l2 R0 Z2 E
1:foreach使用规则,他有以下几个参数 from ,item name iteration index
7 T( o$ W5 V5 B1 x; A7 R6 J 2:如何使用foreach循环 如果php要传递一个数组(如:$array)给ecshop的smarty模板.那么我们将通过from=$array 来接受,写法是{foreach from = $array item = item}" O+ f' Q7 d0 Z
3:7 t) n( E& M9 W8 P( ?6 R
ecshop中smarty的下标如何表示,请看下面的例子:1 M3 [4 V6 Z7 G: Z0 u. b, f. T5 t/ J
{foreach from = $array item = item name=name} ' D2 I. y& j8 F% Z5 A5 m; `
{$smarty.foreach.name.iteration}
" [* j3 V8 ~! @ {/foreach} $ |/ z+ U2 |) H7 B% W1 f
* l/ J0 _/ n7 A( k
这里的iteration就是从1开始的下标,% d( B! {/ u: k) y/ e
如果要从0开始的下标,应该使用{$smarty.foreach.name.index}* R# O3 u; Q y, d
4:如何判断是否是foreach循环的开始和结束,最后一个元素. {if $smarty.foreach.last}表示循环的最后一个元素.{if $smarty.freach.first}表示循环的开始.
* }+ I8 ~$ k5 Y& ]5 W& e) z! h/ l 5:如何使用双重循环. 举例如下: {foreach from = $test item =item} {foreach from=$item.children item=child}
5 k" P1 w; Z) |0 e. f6 {. p9 b- a {$child.name}! [9 J) H+ J$ _, V1 M
{/foreach}
* l) ^5 D9 Z& ~% X- @{/foreach}4 \9 j" x% Q2 d; c, J8 y
p1 X' u! i$ u& M5 }/ _
看了以上的说明,不知道您是否明白了一些 % V8 ?' I+ }, A
|