Вопрос значения индекса Smarty foreach - PullRequest
0 голосов
/ 10 марта 2011

В цикле smarty foreach {$ smarty.foreach.foo.iteration} работает нормально, но {$ smarty.foreach.foo.index} не работает.Я не смог разобраться в проблеме.

Пожалуйста, помогите мне! *

Пример:

код:

{foreach name=navLoop from=$links_res_cat_detailsObj item="links_res"}
{$smarty.foreach.navLoop.iteration}
{/if}

вывод:123 но когда я пытаюсь распечатать значение индекса, я ничего не получаю Пример

код:

{foreach name=navLoop from=$links_res_cat_detailsObj item="links_res"}
{$smarty.foreach.navLoop.index}
{/if}

вывод:

Ответы [ 2 ]

3 голосов
/ 15 марта 2011

Это действительно странно. Похоже, вы используете его правильно (см. руководство ) Я собрал тест для вас, и это отлично работает. Это может быть какая-то опечатка или проблема с данными?

    <ul>
    {foreach item=item from=$myVar name=test}
        <li>{$smarty.foreach.test.iteration} - {$smarty.foreach.test.index}</li>
    {/foreach}
    </ul>

Единственное, что странно в вашем коде - это " вокруг вашего предмета, но это не могло быть проблемой, не так ли? Я бы запустил его выше (и итерацию, и индекс), чтобы убедиться, что одно работает, а другое нет ... Потому что это просто странно:)

0 голосов
/ 10 сентября 2013

Система шаблонов smarty, реализованная в phpfox, использует пользовательские функции, и не все реализовано. Хотя вы должны попробовать использовать $ phpfox. вместо $ smarty.

Будет работать следующее (протестировано на v3.6):

{foreach item=item from=$myVar name=test}
    <li>{$phpfox.foreach.test.iteration} - {$phpfox.foreach.test.index}</li>
{/foreach}
...