看到標題有人會說了,這個很少會被用到吧,我們在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模板文件,任何地方需要的時候都可以使用這個語句。
新聞熱點
疑難解答