最近开始学习laravel4,我正在试验刀片模板。由于某种原因,这些正在工作,但突然间它们已经停止工作,当我去查看带有所述模板的网站时,它只显示@yield指令,而不是显示其本意部分。
https://i.stack.imgur.com/ehMBK.png <-- 在浏览器中查看时源的屏幕截图
这是我目前使用的所有代码,这是死的基本东西
应用/路由.php
//set base route
Route::get('/', 'HomeController@index');
应用程序/控制器/家庭控制器
<?php
class HomeController extends BaseController {
protected $layout = 'base';
public function index()
{
$data = array(
'heading' => 'Hello Laravel (from Home)',
'body' => 'This is awesome, from the HomeController'
);
$this->layout->content = View::make('test', $data);
}
}
应用程序/视图/基础.php(HTML 布局模板)
<!doctype html>
<html>
<head>
<title>Something</title>
</head>
<body>
<div class="container">
@yield('content')
</div>
</body>
</html>
app/views/test.blade.php
@section('content')
<h1>{{ $heading }}</h1>
<p>{{ $body }}</p>
@stop
差不多就是这样,我不知道为什么当我查看网站时它没有出现。这确实有效,然后由于某种原因停止了,我不知道为什么。我什至尝试了全新安装的 laravel,结果相同。
您需要
将@extends添加到test.blade.php并将base.php重命名为base.blade.php。
@extends('base')