添加动态页面并在标题菜单Laravel中显示

时间:2016-06-23 11:43:05

标签: php laravel-4

我已经创建了一个管理员可以用来从管理面板添加新页面的功能,这些功能保存在数据库中。现在我想将它们显示为标题上的菜单。

这是我的BaseController加载master.blade

protected function setupLayout()
{
    if (!is_null($this->layout))
    {
        $pages = Pages::all();
        $this->layout = View::make($this->layout);
    }
}

这是来自master.blade我试图展示的页面

@foreach($pages as $page)
    <li><a href="{{ URL::to($page->page_id) }}">{{ $page->page_title }}</a></li>
@endforeach

我得到Undefined variable pages...

我尝试过简单地将其添加到setupLayout() $pages = Pages::all();但不起作用。

2 个答案:

答案 0 :(得分:0)

您没有将$ pages传递给视图;改变这一行:

$this->layout = View::make($this->layout);

要:

$this->layout = View::make($this->layout, ['pages' => $pages]);

检查official documentation,非常有帮助。

希望这有帮助。

答案 1 :(得分:0)

您需要将$ pages变量传递给布局页面,否则laravel将无法识别$ pages变量。View::make($this->layout)->with(["pages"=>$pages])