在ecshop模板制作中经常会用到 foreach ,也经常到看论坛里有人在问 foreach的使用方法,
2 ^/ d/ n- f3 L1 P6 n- u1 F本文中我们通过结合示例,来谈谈ecshop模板如何使用foreach循环, 让你更加明白foreach循环在ecshop模板中的重要性。
9 T/ Z; n6 Q, v' K8 n1 H4 }+ q1 P2 O$ M, ]: {
1:foreach使用规则,他有以下几个参数 from ,item name iteration index
( F+ d7 i1 H; g& i+ u, W 2:如何使用foreach循环 如果php要传递一个数组(如:$array)给ecshop的smarty模板.那么我们将通过from=$array 来接受,写法是{foreach from = $array item = item}+ m% f$ ?* R7 p, ^1 W
3:
1 R: T; i5 n }* c6 t2 T6 f; }& S( r ecshop中smarty的下标如何表示,请看下面的例子:* f: \! j& P- ]- _) L
{foreach from = $array item = item name=name}
3 y! g; s* @) a* A9 @3 H! C$ D$ O {$smarty.foreach.name.iteration}9 k0 l2 L* }1 W2 H6 _1 k, E
{/foreach}
0 S$ |$ q. ]# E9 [, i
9 z# ~) T/ {7 m( _ 这里的iteration就是从1开始的下标,7 h! W8 t+ v* a- w; r7 T( W' L
如果要从0开始的下标,应该使用{$smarty.foreach.name.index}
% N: e& s% W4 T 4:如何判断是否是foreach循环的开始和结束,最后一个元素. {if $smarty.foreach.last}表示循环的最后一个元素.{if $smarty.freach.first}表示循环的开始.
# y* f2 A% S) ]8 z 5:如何使用双重循环. 举例如下: {foreach from = $test item =item} {foreach from=$item.children item=child}
- I) w* D4 j, G* Q F {$child.name}9 P/ @2 W& E8 y* M1 J1 o
{/foreach}
! R, V% A/ y0 Z! {{/foreach}# ^( m1 Z7 {$ [
$ H' d! s2 S0 y/ m6 P看了以上的说明,不知道您是否明白了一些 , b- @7 s, R2 }. {0 E( ^* C" m
|