看到标题有人会说了,这个很少会被用到吧,我们在Foreach循环中可以使用iteration或index来判断呀,什么时候需要定义新变量来判断呢?
的确,这是一个对于ECSHOP二次开发人员来说很生僻的一个知识点,基本上用到它的情况很少。
这种ECSHOP教程只需要了解一下,不必深究,记住有这么回子事就行,以备不时之需。
比方你要在ECSHOP模板文件中使用一个Foreach循环(数组$payment_list),而这个循环的某个元素(tenpay_bank),你又不想显示,
但是你不确定这个元素(tenpay_bank)是第几个元素,有可能是第一个,也有可能是第N个。
而且你还需要在循环中进行判断,当第一个有效元素(除元素(tenpay_bank)之外的其他元素)输出时进行如何如何的特殊动作。
如果这个时候你再使用smarty.foreach.payment_ecshop120_com.iteration 或 smarty.foreach.payment_ecshop120_com.index 来判断的话就显得那么无力了。
这个时候我们就需要在Foreach循环中定义一个新变量并赋值和判断:
<!-- {assign var="i" value="1"} By www.ecshop120.com -->
<!-- {foreach from=$payment_list name="payment_list_ecshop120" item=payment} -->
<!-- {if $payment.pay_code neq 'tenpay_bank'} 这个tenpay_bank 就是循环中的某个元素A-->
<tr>
{if $i eq "1"}
<td bgcolor="#ffffff" rowspan=20 align=center><strong>其他支付方式</strong></td>
{/if}
<td valign="top" bgcolor="#ffffff" >
。。。。。。
</td>
<td align="right" bgcolor="#ffffff" >
。。。。。。
</td>
</tr>
{assign var=i value="2"}
{/if}
<!-- {/foreach} -->
上述代码可以这样理解,在Foreach循环外定义了一个新变量 i,值为1,然后开始循环,
在循环内部改变这个变量 i 的值为2,并且在循环内部加一个判断,如果这个变量i 值为1,那么就是第一个有效元素输出的时候。
总结:在ECSHOP模板文件Foreach循环中定义新变量的方法为 {assign var="kkk" value="12345"},
不一定是Foreach循环,只要是ECSHOP模板文件,任何地方需要的时候都可以使用这个语句。
新闻热点
疑难解答