如何定义"主布局"在Laravel 5.1中

时间:2016-09-12 14:36:33

标签: laravel layout controller laravel-5.1 views

我开始使用4.2中的Laravel 5.1,我对控制器中布局的定义有疑问。

在4.2我有这个:

private $layout = 'layouts.master';

public function showWelcome()
{
    $this->layout->content =  View::make('home');
}

加载视图时," Home"视图将显示在" master.blade.php"的@yield('section')中在layouts文件夹中。

我在5.1中搜索了如何使用它,我发现layout.masters的分配已被删除,但我无法在任何地方看到新用法。

现在我已经5.1了:

namespace App\Http\Controllers;

use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use View;

class HomeController extends BaseController
{
    public function showWelcome()
    {
        return view('home');
    }
}

如何向showWelcome()函数说明它必须在视图中产生内容?

1 个答案:

答案 0 :(得分:3)

在Laravel 5.1中,您可以在顶部 @extends('layouts.master')中的刀片文件中扩展主布局。 From Laravel 5.1 Documentation

    <!-- Stored in resources/views/child.blade.php -->

    @extends('layouts.master')

    @section('title', 'Page Title')

    @section('sidebar')
        @parent

        <p>This is appended to the master sidebar.</p>
    @endsection

    @section('content')
        <p>This is my body content.</p>
    @endsection