For loop 什么';下面的smarty for循环代码有什么问题?
我正在为我的网站使用smarty template engine版本2.6.18。我有以下打印1到4个数字的代码。但我得到的错误是:For loop 什么';下面的smarty for循环代码有什么问题?,for-loop,smarty,fatal-error,smarty2,For Loop,Smarty,Fatal Error,Smarty2,我正在为我的网站使用smarty template engine版本2.6.18。我有以下打印1到4个数字的代码。但我得到的错误是: Fatal error: Smarty error: [in view-item-request.tpl line 67]: syntax error: unrecognized tag 'for' 我的代码如下: {for $foo = 1 to 40} <p>{$foo}</p> {/for} {for$foo=1到40} {
Fatal error: Smarty error: [in view-item-request.tpl line 67]: syntax error: unrecognized tag 'for'
我的代码如下:
{for $foo = 1 to 40}
<p>{$foo}</p>
{/for}
{for$foo=1到40}
{$foo}
{/for}
有人能帮我解决这个问题吗?提前感谢。Smarty有自己的语法。对于循环,没有
,但是foreach
和节
您可以通过以下方式使用第节实现您想要的:
{section name=foo start=1 loop= 40}
<p>{$smarty.section.foo.index}</p>
{/section}
{section name=foo start=1 loop=40}
{$smarty.section.foo.index}
{/section}
Smarty有自己的语法。对于
循环,没有,但是foreach
和节
您可以通过以下方式使用第节实现您想要的:
{section name=foo start=1 loop= 40}
<p>{$smarty.section.foo.index}</p>
{/section}
{section name=foo start=1 loop=40}
{$smarty.section.foo.index}
{/section}
循环{for}是Smarty 3支持的语法。对于Smarty 2,您可以使用{section},并使用迭代而不是索引来查看1-40而不是0-39的值
{section name=foo loop=40}
<p>{$smarty.section.foo.iteration}</p>
{/section}
{section name=foo loop=40}
{$smarty.section.foo.iteration}
{/section}
循环{for}是Smarty 3支持的语法。对于Smarty 2,您可以使用{section},并使用迭代而不是索引来查看1-40而不是0-39的值
{section name=foo loop=40}
<p>{$smarty.section.foo.iteration}</p>
{/section}
{section name=foo loop=40}
{$smarty.section.foo.iteration}
{/section}
谢谢您的帮助。这正是我要找的。你能不能在你的答案中添加代码,用for循环实现同样的功能。这将是一种新的东西,会增加我的知识。可以吗?@user2839497在这种情况下,您不能使用foreach循环。如果需要,您应该首先在PHP数组中创建值,然后将其分配给PHP,然后运行foreach循环,如手册所示,谢谢您的回复。但我仍然面临一个问题。使用你的代码,我只能打印1到39之间的值。实际上我想从1到40打印。为此,我尝试将loop@user2839497简单更改为40到41实际上,我有一个变量作为$total_pages,我使用这个变量作为循环计数器,而不是40。我从PHP文件发送这个变量。这个变量包含的值来自一些计算,所以我不能在这个数字上加1,因为这不是很好的编码实践。你能不能给我一些技巧,让我在解析循环时也包含限制数?谢谢你的帮助。这正是我要找的。你能不能在你的答案中添加代码,用for循环实现同样的功能。这将是一种新的东西,会增加我的知识。可以吗?@user2839497在这种情况下,您不能使用foreach循环。如果需要,您应该首先在PHP数组中创建值,然后将其分配给PHP,然后运行foreach循环,如手册所示,谢谢您的回复。但我仍然面临一个问题。使用你的代码,我只能打印1到39之间的值。实际上我想从1到40打印。为此,我尝试将loop@user2839497简单更改为40到41实际上,我有一个变量作为$total_pages,我使用这个变量作为循环计数器,而不是40。我从PHP文件发送这个变量。这个变量包含的值来自一些计算,所以我不能在这个数字上加1,因为这不是很好的编码实践。你能不能给我一些技巧,让我在解析循环时也包含限制数?你为什么要使用如此古老(2007!)的Smarty版本?你为什么要使用如此古老(2007!)的Smarty版本?