我想在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中创建对象的正确方法吗?
答案 0 :(得分:1)
$this->assign($foo->bars, array($bar1,$bar2));
您忘了关闭上一个)
。
答案 1 :(得分:0)
你可以用php页面上的对象执行所有执行,然后你可以将最终数组分配给smarty并在.tpl页面上轻松使用,这是最好的方法。
尽量不要处理.tpl页面上的数据处理php页面上的所有数据并将其分配给.tpl然后只显示它。
Smarty是一个模板引擎,主要用于视图(演示)。
在.php创建数组输出上编写foreach循环并分配给tpl。