Smarty foreach指数值问题

时间:2011-03-10 10:33:19

标签: 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 个答案:

答案 0 :(得分:3)

这真的很奇怪。看起来你正确使用它(见the manual) 我为你编了一个测试,这很好用。可能是一些拼写错误,还是数据中的问题?

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

您的代码唯一奇怪的是项目周围的",但这可能不是问题,是吗?我会在上面运行它(所以迭代和索引),以确保一个工作而另一个不工作......因为这只是奇怪的事情:))

答案 1 :(得分:0)

在phpfox中实现的智能模板系统使用自定义功能而不是所有内容都已实现。虽然你应该尝试使用$ phpfox。而不是$ smarty。

以下内容适用(在v3.6上测试):

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