Laravel阵列在胡子模板中

时间:2013-10-16 15:33:01

标签: php laravel laravel-4 mustache.php

这是我的控制器:

class HomeController extends BaseController {

public $layout = 'default';

public function index()
{
    $page = Page::find(1);
    $this->layout->page_title = $page->page_title;


    $allPages = Page::lists('title');
    // Give the page it's needed content
    $this->layout->nest('content', 'pages.home', array(
        'pageHeading' => 'Rendered with Mustache.php',
        'pageContent' => $allPages
    ));   
}

}

我有一个名为default.blade.php的主模板和一个名为home.mustashe的子页面模板。

问题是,我想在home.mustache模板中使用包含所有页面标题的数组。如何将我的数组添加到home.mustache模板中?

现在的代码给了我以下错误:Array to string conversion

我使用的Mustache包是:Link to mustache package

2 个答案:

答案 0 :(得分:0)

您的Mustache包上的文档说数组的处理方式如下:

{{#posts}}
    {{> posts._post}}
{{/posts}}

答案 1 :(得分:0)

这个错误意味着,字面意思是“你正试图将数组显示为一个字符串”......你没有提供足够的上下文完全调试,但我猜你的意思是你正在设置{{ 1}}作为值数组,然后在模板中调用pageContent

自己将数组转换为字符串:

{{ pageContent }}

...或者在模板中使用implode(', ', $allPages) 执行类似数组的操作:

pageContent