2016-09-12 2 views
1

Я начинаю использовать Laravel 5.1 из 4.2, и у меня возникает вопрос об определении макетов в контроллере.Как определить «Мастер-макет» в Laravel 5.1

В 4.2 у меня есть это:

private $layout = 'layouts.master'; 

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

Когда вид загружен, «Home» просмотр появится в @yield('section') из «master.blade.php» в папке макетов.

Я искал, как использовать это в 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(), что он должен дать содержание с точки зрения?

ответ

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 
+0

Это работает! Спасибо! – Itipacs

Смежные вопросы