laravel - 如何使用 Laravel Blade 模板将变量传递到布局?

标签 laravel laravel-4 laravel-blade

在 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/

相关文章:

laravel-4 - Laravel 4 工匠命令看不到绑定(bind)

php - 在 laravel 中通过 ajax 返回 View

php - Laravel blade : if. .else 语句行为异常

javascript - Laravel 5.1 - 将表单插入表单(Blade)

laravel - 如何在使用 Spatie 的 Laravel 权限登录用户之前检查用户角色?

laravel - Laravel 初学者的良好开端

php - Laravel 4 表单发布

mysql - Laravel 按查询分组

php - 在 Laravel 5.1 中返回 URL

php - 即使在包含 laravel Collective 之后,Laravel 5.1 Blade 也无法正常工作