我正在使用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是否有替代语法?
答案 0 :(得分:1)
避免使用引号并直接转到该值。
{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}