我在控制器中渲染视图时遇到问题。我目前正在运行Laravel 4,以下是我的代码。 (顺便说一句,我还在学习Laravel,特别是尚未发布的最新版本。我发现从旧版本中学习是一个坏主意,因为当前版本似乎有很多变化。)
控制器/ PluginsController.php
class PluginsController extends BaseController {
public function index()
{
return View::make('plugins.index')->with(array('title'=>"The Index Page"));
}
视图/插件/ index.blade.php
@layout('templates.master')
@section('header')
<h1>The Header</h1>
@endsection
@section('content')
testing the index.blade.php
@endsection
@section('footer')
<div style="background:blue;">
<h1>My Footer Goes Here</h1>
</div>
@endsection
视图/模板/ master.blade.php
<!doctype>
<html>
<head>
<meta charset="UTF-8" />
@yield('meta_info')
<title>{{$title}}</title>
@yield('scripts')
</head>
<body>
<div id="header">
@yield('header')
</div>
<div id="wrapper">
@yield('content')
</div>
<div id="footer">
@yield('footer')
</div>
</body>
</html>
答案 0 :(得分:15)
您必须使用@extends
代替@layout,而@stop
代替@endsection
答案 1 :(得分:8)
使用@extends
代替@layout
解决了我的问题。