如何在Laravel的Blade模板中传递变量到布局?

115

在 Laravel 4 中,我的控制器使用 Blade 布局:

class PagesController extends BaseController {
    protected $layout = 'layouts.master';
}
母版布局输出变量标题,然后显示一个视图。
...
<title>{{ $title }}</title>
...
@yield('content')
....

然而,在我的控制器中,我似乎只能将变量传递给子视图,而不能传递给布局。例如,一个操作可能是:

public function index()
{
    $this->layout->content = View::make('pages/index', array('title' => 'Home page'));
}

这将仅将$title变量传递到视图的内容部分。我如何将该变量提供给整个视图,或者至少是主布局?

12个回答

-1
你可以尝试:
public function index()
{
    return View::make('pages/index', array('title' => 'Home page'));
}

-2
$data['title'] = $this->layout->title = 'The Home Page';
$this->layout->content = View::make('home', $data);

我之前这么做是因为需要在视图和主文件中使用。如果您不使用$this->layout->title,它似乎在主布局中将不可用。欢迎改进!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接