在Smarty 3中,有没有一种方法可以将对象分配给变量



我正在使用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}

最新更新