在@include之后刀片没有显示刀片中的内容 - Laravel 4.2

时间:2016-03-11 03:56:36

标签: php laravel laravel-4 blade laravel-routing

我试图根据http referer切换主布局。我目前正在提取正确的模板,但刀片中的内容未显示 - 没有错误。 $ layout正确传递,因为模板根据引用进行更改。这404刀片是唯一的问题。其他刀片可以很好地进入布局。

routes.php

App::missing(function($exception) {
    $referer = URL::previous();
    $layout = (strpos($referer,'ext')) ? 'layouts.ext.master' : 'layouts.master';
    return Response::view('error-404', compact('layout'), 404);
});

错误404.blade.php

@include($layout)

@section('page_content')
    content...
@stop

布局(/layouts/ext/master.blade.php和/layouts/master.blade.php都包含html换行。)

@yield('page_content')

2 个答案:

答案 0 :(得分:0)

使用@extends('layouts.ext.master')代替@include('layouts.ext.master')

答案 1 :(得分:-1)

请使用

return View::make('error-404', compact('layout'));