2013-02-28 5 views
0

Я пытаюсь получить доступ к массиву в smarty с помощью команды section. Я хотел бы повторить 1-128, используя команду section в smarty, но главное, что цикл должен быть 65. Теперь я могу получить доступ к индексам до 64, используя $ smarty.section.foo.index. Я хотел бы получить доступ к значениям в индексах> 64, используя константу как {$ lan.printer [$ smarty.section.foo.index] +64}. Но это не работает . Пожалуйста, помогите мне решить эту проблему.Обработка массива в smarty

Мой код выглядит следующим образом

{section name=foo start=1 loop=65 step=1} 
     {$lan.printer[$smarty.section.foo.index]} 
     {$lan.printer[$smarty.section.foo.index]+64} 
{/section} 

Спасибо заранее.

ответ

0

Помимо очевидной опечатка в коде, чтобы использовать выражение в качестве индекса в массиве, вам нужно присвоить его переменной первой, так что это может быть ссылка:

{section name=foo start=1 loop=65 step=1} 
    {assign var=offsetIndex value=$smarty.section.foo.index+64} 
    {$lan.printer[$smarty.section.foo.index]} 
    {$lan.printer[$offsetIndex]} 
{/section} 
Смежные вопросы