2014-12-04 63 views
2

我有一個記錄循環,我將解析到一個CI模板,我需要運行一個if在該循環中的值,但是我得到的是正在輸出的字符串在HTML中可以有人告訴我我做錯了什麼。循環中的Codeigniter模板(if/else if)

代碼:

{bond} 
    <tr> 
     <td>{bond_issuer}</td> 
     <td>{bond_bond}</td> 
     <td> 
      {if bond_payment_frequency == 'A' } 
      Annual 
      {if:elseif bond_payment_frequency == 'SA'} 
      Semi Annual 
      {if:else} 
      Quarterly 
      {/if} 
     </td> 
     <td>{bond_coupon_pa}</td> 
     <td>{bond_maturity_date}</td> 
     <td>{bond_indicative_yield}</td> 
     <td>{bond_asx_code}</td> 
    </tr> 
{/bond} 

輸出:

{如果bond_payment_frequency == 'A'} {年度如果:ELSEIF bond_payment_frequency == 'SA'}年半年度{如果:其他}季刊{/如果}

解決方案:

<?php foreach($bond as $b) {?> 
    <tr> 
     <td><?=$b->bond_issuer;?></td> 
     <td><?=$b->bond_bond;?></td> 
     <td> 
      <?php 
       if($b->bond_payment_frequency === 'A') { 
        echo 'Annual'; 
       } elseif($b->bond_payment_frequency === 'SA') { 
        echo 'Semi Annual'; 
       } else { 
        echo 'Quarterly'; 
       }; 
      ?> 
     </td> 
     <td><?=$b->bond_coupon_pa;?></td> 
     <td><?=$b->bond_maturity_date;?></td> 
     <td><?=$b->bond_indicative_yield;?></td> 
     <td><?=$b->bond_asx_code;?></td> 
    </tr> 
<?php } ?> 
+0

我正在使用標準的CI船舶,我認爲 – 2014-12-04 15:50:16

+0

嗨! 您是否在__contruct() $ this-> load-> library('parse'); ? – demenvil 2014-12-04 15:52:16

+0

是的,我正在加載解析庫 – 2014-12-04 15:52:51

回答

2

關於the documentation,我不認爲你可以用標準CI的模板解析器類構建條件。

你可以像使用{bond} [...] {/bond}一樣循環訪問數組,但我認爲你不能寫{if}條件。

像醫生說:

模板解析器類可以解析包含你的視圖文件中的僞變量。它可以解析簡單變量或變量標籤對。

[...]

還要注意:模板解析類不是一個完全成熟的模板解析方案。爲了保持最佳性能,我們一直非常精益求精。

+0

感謝您的澄清我已經重做了使用直接PHP – 2014-12-04 15:59:55

+0

的模板請注意,您可以使用像Smarty這樣的「真正的」模板引擎,非常適合CI。 – 2014-12-04 16:00:43