在ecshop模板制作中经常会用到 foreach ,也经常到看论坛里有人在问 foreach的使用方法,5 i2 M R3 Q+ {) X$ H! S& m3 Z' a
本文中我们通过结合示例,来谈谈ecshop模板如何使用foreach循环, 让你更加明白foreach循环在ecshop模板中的重要性。
& L% Q' @4 e' a- r0 s( g8 n& }( x* A0 f
1:foreach使用规则,他有以下几个参数 from ,item name iteration index
: w% W7 ]0 v2 E4 `0 ?2 W; e 2:如何使用foreach循环 如果php要传递一个数组(如:$array)给ecshop的smarty模板.那么我们将通过from=$array 来接受,写法是{foreach from = $array item = item}, W8 q/ N5 E o0 h2 J
3:
- v. H. h, k- O+ k0 ?3 O8 q# g) m7 ~ ecshop中smarty的下标如何表示,请看下面的例子:
. _7 B/ a) U# a {foreach from = $array item = item name=name}
$ k! m. s& @% P. T, v) r {$smarty.foreach.name.iteration}, o9 f$ L& s4 s f x
{/foreach}
- k, e1 ], ~" h2 V9 N
4 ~# |& q7 e! S/ S0 x# m 这里的iteration就是从1开始的下标,
4 @. f4 p/ t1 [, U" @$ A7 S 如果要从0开始的下标,应该使用{$smarty.foreach.name.index}
% |, X. Z/ ]% m# ^! k0 J9 c; _ 4:如何判断是否是foreach循环的开始和结束,最后一个元素. {if $smarty.foreach.last}表示循环的最后一个元素.{if $smarty.freach.first}表示循环的开始.
7 X( e% `+ ?# \5 `+ C+ R7 y 5:如何使用双重循环. 举例如下: {foreach from = $test item =item} {foreach from=$item.children item=child}. m) F/ T# Z6 D& b) d- i
{$child.name}
, M3 R8 `: R' g, m {/foreach}
/ }/ _& b/ M2 ]{/foreach}3 q( e8 \8 K0 C' |" o7 R+ i" F
/ J' e* O$ u8 P. G5 t/ O
看了以上的说明,不知道您是否明白了一些
+ y9 \0 ^" B/ S! W5 y* A1 r |