在 smarty 中分配对象数组


Assigning array of objects in smarty

我想在smarty中使用一个循环来读取一个对象值,稍后我将从控制器传递该值。

{foreach from=$foo->bars item=bar}
    {$bar->product->name}
    {$bar->code}
{/foreach}

为了初始化它,我在smarty文件中编写了以下代码:

{php}
    $bar1->product->name =  "prod1";
    $bar1->code = "BC5E";
    $bar2->product->name =  "prod2";
    $bar2->occasionName = "XW9D";
    $this->assign($foo->bars, array($bar1,$bar2);
{/php}

但这给了我一个错误,这是在 Smarty 中创建对象的正确方法吗?

$this->assign($foo->bars, array($bar1,$bar2));

您忘了关闭上).

您能否在 php 页面上使用对象执行所有执行,然后将最终数组分配给 smarty 并在 .tpl 页面上轻松使用 这是最好的方法。

尽量不要处理 .tpl 页面上的数据 处理 php 页面上的所有数据并将其分配给 .tpl,然后只显示它。

Smarty是一个模板引擎,主要用于查看(演示)。

在 上编写 foreach 循环.php创建数组输出并分配给 tpl。