我正在使用Laravel 4.2并尝试使用Blade。
所以,在 /app/views/layouts/test.blade.php 我有
<html>
<head>
<title>TEST LAYOUT</title>
</head>
<body>
<p>{{ date('d/m') }}</p>
<p>
@yield('content')
</p>
</body>
</html>
/app/views/testView.blade.php 中的是
@secton('content')
<p>{{ 'Hello World from section...' }}</p>
@stop
{{'Hi every one'}}
<p>It doesn't work :(</p>
我的控制器如下:
class HomeController extends BaseController {
protected $layout = 'layouts.test';
public function index()
{
$this->layout->content = View::make('testView');
}
}
但最终输出如下:
Hi every one
<p>It doesn't work :(</p>
<html>
<head>
<title>TEST LAYOUT</title>
</head>
<body>
<p>02/12</p>
<p>
</p>
</body>
</html>
我还尝试了另一种方式(在控制器中没有受保护的$ layout,但在testView.blade.php中使用@extends)但结果是一样的。我做错了什么?
答案 0 :(得分:0)
您没有正确调用test.blade.php。 您的 /app/views/testView.blade.php看起来应该是这样的
@extends('layouts/test)
@secton('content')
<p>{{ 'Hello World from section...' }}</p>
@stop
{{'Hi every one'}}
<p>It now works :)</p>
它应该现在可以使用