从刀片扩展功能不起作用

时间:2014-04-02 13:38:22

标签: php html laravel blade

我遇到了问题,我不知道为什么,但是当我扩展刀片模板然后调用它时,它会在我的浏览器中打印一个空白页面。

在我的/app/views/layout.blade.php

<div>
    @yield('main')
</div>

在我的/app/views/error/notfound.blade.php

@extends('layout')
@section('main')
<myhtmlcode>
</myhtmlcode>
@stop

当我捕获NotFoundHttpException

时,会调用my notfound模板
App::error(function(\Symfony\Component\HttpKernel\Exception\NotFoundHttpException $exception, $code)
{
    return View::make('error.notfound');
});

每一个其他视图::让工作正常......之前这个工作正常......但我当然犯了一个无形的错误。我需要你的后见之明。

感谢。

2 个答案:

答案 0 :(得分:0)

您忘记了@stop

中的notfound.blade.php
  

/app/views/layout.blade.php

<div>
    @yield('main')
</div>
  

/app/views/error/notfound.blade.php

@extends('layout')
@section('main')
<myhtmlcode></myhtmlcode>
@stop

refer to this

答案 1 :(得分:0)

好的,我很明显..

所以我在所有路线前加上

Route::group(array('prefix' => '{lang}', 'before' => 'set.lang'), function($lang) {
});

所以我尝试使用路由测试在我的route :: group中调用我的模板notfound.blade.php并且它也不起作用.. 但是有一个php警告告诉我他在layout.blade.php中找不到$ lang变量!

所以我想当我通过捕获notFoundHtppException返回我的视图时也出现了这个错误,但是laravel没有向我显示任何内容..所以我只需要在我的View :: make中注入$ lang变量应用程序/开始/ global.php

App::error(function(\Symfony\Component\HttpKernel\Exception\NotFoundHttpException $exception, $code)
{
    return View::make('error.notfound', ['lang' => App::getLocale()]);
});

现在它就像一个魅力......