在聪明的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}
输出:
答案 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}