看到标题有人会说了,这个很少会被用到吧,我们在Foreach循环中可以使用iteration或index来判断呀,什么时候需要定义新变量来判断呢?* Z1 z" }# O' S, O
的确,这是一个对于ECSHOP二次开发人员来说很生僻的一个知识点,基本上用到它的情况很少。
. O; Z0 Y- z+ Q$ i' O+ ~$ ~. q这种ECSHOP教程只需要了解一下,不必深究,记住有这么回子事就行,以备不时之需。
: z- u: d0 Z* x& b5 Q5 b3 U# z5 H$ ?! g% U, o0 G! ~7 Q# m1 C8 p$ J; L; W
比方你要在ECSHOP模板文件中使用一个Foreach循环(数组$payment_list),而这个循环的某个元素(tenpay_bank),你又不想显示,
0 U+ ?7 z* z- v# M3 U2 \# r$ g4 v& y但是你不确定这个元素(tenpay_bank)是第几个元素,有可能是第一个,也有可能是第N个。
, z: X( ^6 A# @2 x; m而且你还需要在循环中进行判断,当第一个有效元素(除元素(tenpay_bank)之外的其他元素)输出时进行如何如何的特殊动作。
8 _, {8 Y( ?1 k0 B7 ]0 ^5 L5 Y+ C" N如果这个时候你再使用smarty.foreach.payment_ecshop120_com.iteration 或 smarty.foreach.payment_ecshop120_com.index 来判断的话就显得那么无力了。
& E1 `# Y; v$ f: l) ]: |: E; u
+ D) K' S8 u5 o* s1 z& s+ r% f" v这个时候我们就需要在Foreach循环中定义一个新变量并赋值和判断:6 E4 ~8 M* e) B
0 w# Q: X- [8 `6 F& ~<!-- {assign var="i" value="1"} By www.ecshop120.com -->
" y+ d, T/ R# @6 n( ^, Z<!-- {foreach from=$payment_list name="payment_list_ecshop120" item=payment} -->
! D4 [( D8 v7 N- L7 k0 D q" @<!-- {if $payment.pay_code neq 'tenpay_bank'} 这个tenpay_bank 就是循环中的某个元素A-->8 u5 S0 o: E8 v1 V" ]
<tr>/ I- O. } J, q! L! ]
{if $i eq "1"}
2 L, C1 C! `* b4 J3 E<td bgcolor="#ffffff" rowspan=20 align=center><strong>其他支付方式</strong></td>5 b& g8 z6 r4 f1 |/ A
{/if}# b! Z; E5 k6 B q5 C
<td valign="top" bgcolor="#ffffff" >
3 m. K/ N+ e1 u% M& \。。。。。。3 E9 |0 ~' A/ L9 T* i' ~2 D3 L8 r
</td>& }9 ] f* z) Q0 L6 U' q% r2 Y
<td align="right" bgcolor="#ffffff" >
& d, I- x9 d: L* D0 l% J$ i, }。。。。。。
3 J' n3 K1 z6 b5 H" U) m</td>8 S5 w- g# S! Z( Y) t
</tr>+ S, l, H- [. s# d9 f
{assign var=i value="2"}: K# B5 Z0 I( \9 y" K
{/if}
( N" f6 z$ p& l8 I4 y<!-- {/foreach} -->
7 D8 F. o& [6 K+ C% ^# Z$ ]2 f% |2 K# J/ P5 o+ s8 n$ g
上述代码可以这样理解,在Foreach循环外定义了一个新变量 i,值为1,然后开始循环,9 ~# ]# j/ v+ W2 s
在循环内部改变这个变量 i 的值为2,并且在循环内部加一个判断,如果这个变量i 值为1,那么就是第一个有效元素输出的时候。
. O* H, c3 r0 R6 }1 T- I0 r/ {总结:在ECSHOP模板文件Foreach循环中定义新变量的方法为 {assign var="kkk" value="12345"},
1 a4 y& {6 M5 h8 U0 e. v8 k不一定是Foreach循环,只要是ECSHOP模板文件,任何地方需要的时候都可以使用这个语句。
% v: W& z9 l% k( @3 R0 s7 ^ |