2013-07-03 54 views
1

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

回答

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} 
+0

太棒了!谢谢! –

相关问题