2014-01-17 56 views
0

下面是我用我的表代碼:在smarty表中使用「if」「else」?

<tbody> 
     {foreach key=num item=referral from=$referrals} 
     {if $referral.commission neq "$0.00 USD"} 
     <tr> 
     <td>{$referral.date}</td> 
     <td>{$referral.service}</td> 
     <td>{$referral.amountdesc}</td> 
     <td>{$referral.commission}</td> 
     <td>{$referral.status}</td> 
     </tr> 
     {/if} 
     {foreachelse} 
     <tr> 
      <td colspan="6">{$LANG.norecordsfound}</td> 
     </tr> 
     {/foreach} 
</tbody> 

基本上如果$referral.commission$0.00 USD話,我不希望該行顯示。然而,現在這些行顯示,我不知道我做錯了什麼......

+0

什麼是'$ referral.commission'的例子嗎?也許這只是一個數字,沒有'USD'部分。 – mc10

+0

你的'{if ...}'在哪裏? – sectus

+0

它等於'$ 0.00美元'或'$ 100.00美元'或'$ 200.00美元'或'$ 300.00美元' – user3205164

回答

2

這是你的報價。使用單引號並將if語句更改爲'$0.00 USD'而不是使用雙引號。

<tbody> 
     {foreach key=num item=referral from=$referrals} 
     {if $referral.commission != '$0.00 USD'} 
     <tr> 
     <td>{$referral.date}</td> 
     <td>{$referral.service}</td> 
     <td>{$referral.amountdesc}</td> 
     <td>{$referral.commission}</td> 
     <td>{$referral.status}</td> 
     </tr> 
     {/if} 
     {foreachelse} 
     <tr> 
      <td colspan="6">{$LANG.norecordsfound}</td> 
     </tr> 
     {/foreach} 
</tbody> 
+0

完美工作! – user3205164

0

試試這個:

<tbody> 
{foreach key=num item=referral from=$referrals} 
{if $referral.commission neq "$0.00 USD"} 
<tr> 
    <td>{$referral.date}</td> 
    <td>{$referral.service}</td> 
    <td>{$referral.amountdesc}</td> 
    <td>{$referral.commission}</td> 
    <td>{$referral.status}</td> 
</tr> 
{else} 
    <tr> 
     <td colspan="6">{$LANG.norecordsfound}</td> 
    </tr> 
{/if} 
{/foreach} 
</tbody> 

有關詳細信息的if/else foreach循環內部參考http://www.smarty.net/docs/en/language.function.foreach.tpl使用

+0

你爲什麼擺脫foreachelse? – Karol

+0

這也是他可以使用if/else在foreach中的一種方法 – user2936213

+0

對我而言沒有效果...... – user3205164