我正在使用Smarty 2和Smarty 3升级应用程序,我想在模板中为变量名分配一个对象。原始代码:
{section name=articles loop=$list_article}
{assign var="article" value="`$list_article[articles]`"}
// now use many properties of the object $article...
<h2>{$article->title}</h2>
{$article->text}
...
{/section}
但这对Smarty 3不起作用,似乎{assign}只能分配字符串。它与Smarty 2一起工作。Smarty 3有替代语法吗?
避免引号,直接指向值。
{section name=articles loop=$list_article}
{assign var="article" value=$list_article[articles]}
// now use many properties of the object $article...
<h2>{$article->title}</h2>
{$article->text}
...
{/section}
但是,在这种情况下,您也可以使用foreach。
{foreach from=$list_article item=article}
// now use many properties of the object $article...
<h2>{$article->title}</h2>
{$article->text}
...
{/section}