1

我正在使用 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 有替代语法吗?

4

1 回答 1

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}
于 2013-07-03T15:12:33.860 回答