如何在 Laravel 5.1 中定义 "Master Layout"
How to define a "Master Layout" in Laravel 5.1
我从 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')
中。
我搜索了如何在 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()
函数它必须通过视图生成内容?
在 Laravel 5.1 中,您可以在 blade 文件中扩展主布局,写在顶部 @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
我从 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')
中。
我搜索了如何在 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()
函数它必须通过视图生成内容?
在 Laravel 5.1 中,您可以在 blade 文件中扩展主布局,写在顶部 @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