Сделать массив результатов в разных div в smarty - PullRequest
0 голосов
/ 09 января 2012

Я использую smarty в качестве движка шаблонов. У меня есть результат php, назначенный smarty $sac. Если я пишу

{foreach name = feach item = k from = $sac}
    {$k->job_category}    
{/foreach}

показывает результат в строке. Но наш дизайнер использовал разные div, чтобы показать результат.

<div class="left1">

<ol>
<li>&nbsp;  Academic</li>
<li>&nbsp;  Administrative</li>
<li>&nbsp;  Bank</li>
<li>&nbsp;  BPO</li>
<li>&nbsp;  Civil</li>
<li>&nbsp;  Defence</li>
</ol>
</div>

<div class="left1">

<ol>
<li>&nbsp;  Engineering</li>
<li>&nbsp;  Finance</li>
<li>&nbsp;  Government</li>
<li>&nbsp;  Hospitality</li>
<li>&nbsp;  HR</li>
<li>&nbsp;  Insurance</li>
</ol>
</div>

и т. Д. Показать Я хочу знать, как я могу отобразить результаты в этой форме. Я думаю, что я могу использовать modulus operator(%), так как число полей фиксировано в каждом столбце (6).

1 Ответ

1 голос
/ 09 января 2012

Вы можете использовать имя итератора с Forach.он основан на цикле foreach дважды;

<div class="left1">
<ol>
{foreach name = feach item = k from = $sac name=cat}
    {if $smarty.foreach.cat.index%2==0}
        <li>{$k->job_category}</li>
    {/if}
{/foreach}
</ol>
</div>

и для следующего блока div

<div class="left1">
<ol>
{foreach name = feach item = k from = $sac name=cat}
    {if $smarty.foreach.cat.index%2!=0}
        <li>{$k->job_category}</li>
    {/if}
{/foreach}
</ol>
</div>
...