2014-12-04 4 views
2

У меня есть цикл записей, которые я просматриваю в шаблоне CI, и мне нужно запустить if, если значение в этом цикле, но все, что я получаю, это строка, выводящая в html может кто-то сказать мне, что я делаю неправильно.Codeigniter Templating (if/else if) in loop

Код:

{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'} {Semi Annual если: еще} Ежеквартальный {/}, если

Решение:

<?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 тот, который отправляет, я думаю –

+0

Привет! Вы хорошо это сделали в своей библиотеке __contruct() $ this-> load-> ('parse'); ? – demenvil

+0

Да Я загружаю библиотеку разбора –

ответ

2

Относительно the documentation, я не думаю, что вы можете создавать условия со стандартным шаблоном Parser класса CI.

Вы можете перемещаться по массивам, как вы делали с {bond} [...] {/bond}, но я не думаю, что вы можете написать {if} условий.

Как док говорит:

Шаблон Parser Class позволяет анализировать псевдопеременные, содержащееся в вашем просмотре файлов. Он может анализировать простые переменные или пары пар переменных.

[...]

Также Примечание: Шаблон Parser Класс не распустившийся решение шаблона синтаксического анализа. Мы сохранили его очень осторожно, чтобы поддерживать максимальную производительность.

+0

Спасибо за разъяснение. Я переделал шаблон, чтобы использовать прямой PHP. –

+0

Обратите внимание, что вы можете использовать «настоящий» механизм шаблонов, такой как Smarty, который хорошо сочетается с CI. –