在 Laravel 4 中,我的 Controller 使用 Blade 布局:
class PagesController extends BaseController {
protected $layout = 'layouts.master';
}
主布局输出变量标题,然后显示 View :
...
<title>{{ $title }}</title>
...
@yield('content')
....
但是,在我的 Controller 中,我似乎只能将变量传递给 subview ,而不是布局。例如,一个操作可以是:
public function index()
{
$this->layout->content = View::make('pages/index', array('title' => 'Home page'));
}
这只会将 $title
变量传递到 View 的内容部分。我如何将该变量提供给整个 View ,或者至少是主布局?
最佳答案
如果您在内容布局中使用@extends
,则可以使用:
@extends('master', ['title' => $title])
注意与上述相同适用于 child ,例如:
@include('views.subView', ['my_variable' => 'my-value'])
用法
然后将变量传递到何处,使用它,如下所示:
<title>{{ $title ?? 'Default Title' }}</title>
关于laravel - 如何使用 Laravel Blade 模板将变量传递到布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16118104/