看到標(biāo)題有人會(huì)說(shuō)了,這個(gè)很少會(huì)被用到吧,我們?cè)贔oreach循環(huán)中可以使用iteration或index來(lái)判斷呀,什么時(shí)候需要定義新變量來(lái)判斷呢?
的確,這是一個(gè)對(duì)于ECSHOP二次開(kāi)發(fā)人員來(lái)說(shuō)很生僻的一個(gè)知識(shí)點(diǎn),基本上用到它的情況很少。
這種ECSHOP教程只需要了解一下,不必深究,記住有這么回子事就行,以備不時(shí)之需。
比方你要在ECSHOP模板文件中使用一個(gè)Foreach循環(huán)(數(shù)組$payment_list),而這個(gè)循環(huán)的某個(gè)元素(tenpay_bank),你又不想顯示,
但是你不確定這個(gè)元素(tenpay_bank)是第幾個(gè)元素,有可能是第一個(gè),也有可能是第N個(gè)。
而且你還需要在循環(huán)中進(jìn)行判斷,當(dāng)?shù)谝粋€(gè)有效元素(除元素(tenpay_bank)之外的其他元素)輸出時(shí)進(jìn)行如何如何的特殊動(dòng)作。
如果這個(gè)時(shí)候你再使用smarty.foreach.payment_ecshop120_com.iteration 或 smarty.foreach.payment_ecshop120_com.index 來(lái)判斷的話就顯得那么無(wú)力了。
這個(gè)時(shí)候我們就需要在Foreach循環(huán)中定義一個(gè)新變量并賦值和判斷:
<!-- {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'} 這個(gè)tenpay_bank 就是循環(huán)中的某個(gè)元素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循環(huán)外定義了一個(gè)新變量 i,值為1,然后開(kāi)始循環(huán),
在循環(huán)內(nèi)部改變這個(gè)變量 i 的值為2,并且在循環(huán)內(nèi)部加一個(gè)判斷,如果這個(gè)變量i 值為1,那么就是第一個(gè)有效元素輸出的時(shí)候。
總結(jié):在ECSHOP模板文件Foreach循環(huán)中定義新變量的方法為 {assign var="kkk" value="12345"},
不一定是Foreach循環(huán),只要是ECSHOP模板文件,任何地方需要的時(shí)候都可以使用這個(gè)語(yǔ)句。
新聞熱點(diǎn)
疑難解答
圖片精選