首页 > 网站 > 建站经验 > 正文

ECSHOP模板文件Foreach循环中定义新变量并赋值和判断

2024-04-25 20:32:46
字体:
来源:转载
供稿:网友

看到标题有人会说了,这个很少会被用到吧,我们在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模板文件,任何地方需要的时候都可以使用这个语句。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表