Template Toolkit loop.index в foreach преобразован в Smarty?

Я работаю над преобразованием проекта инструментария шаблона в Perl в PHP с помощью Smarty. Однако я пытался найти эквивалент [% IF loop.index % 2 %] в цикле foreach для Smarty. Я ценю ответы.


person OpensaurusRex    schedule 02.12.2011    source источник


Ответы (1)


Если вы просто хотите чередовать отображение четным/нечетным в Smarty, что я предполагаю из оператора модуля «%» (хотя я не знаком с Perl):

{* Smarty template code *}
{foreach from=$myArray item=foo}
  <tr class="{cycle values="row_even, row_odd"}"><td>{$foo}</td></tr>
{/foreach}

В качестве альтернативы, если вам действительно важно значение индекса переменной массива...

{* Smarty template code *}
{foreach from=$myArray key=k item=v}
  {if $k % 2}<li>odd</li>{else}even{/if}
{/foreach}
person rdlowrey    schedule 02.12.2011
comment
Спасибо! Это имеет смысл, я просто не смог найти его в документах, так как там дерьмовая загрузка. - person OpensaurusRex; 02.12.2011
comment
Рад, что смог помочь — я знаю много людей, которые думают, что Смарти должен умереть, но я думаю, что это чушь. - person rdlowrey; 02.12.2011