2016-09-12 2 views
1

Ich fange an, Laravel 5.1 von 4.2 zu verwenden und ich habe eine Frage über die Definition von Layouts in der Steuerung.Wie definiere ich ein "Master Layout" in Laravel 5.1

In 4.2 Ich habe dies:

private $layout = 'layouts.master'; 

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

Wenn die Ansicht geladen wird, die "Home" -Ansicht im @yield('section') von "master.blade.php" im Layout-Ordner angezeigt.

Ich suchte nach wie in 5.1 zu verwenden, und ich sehe, dass die Zuordnung der layout.masters entfernt wurde, aber ich kann die neue Verwendung nirgendwo sehen.

Jetzt in 5.1 ich habe:

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'); 
    } 
} 

Wie kann ich sagen, auf die showWelcome()-Funktion, die es den Inhalt der Ansicht erhalten hat?

Antwort

3

In Laravel 5.1 können Sie das Master-Layout in Blade-Dateien erweitern, indem Sie @ extends ('layouts.master') eingeben. 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 
+0

Es funktioniert! Vielen Dank! – Itipacs