0

最近开始学习 laravel4,我正在尝试使用刀片模板。出于某种原因,它们正在工作,但突然间它们停止工作了,当我去查看带有所述模板的网站时,它只显示了@yield 指令,而不是显示它应该是的部分。

http://i.imgur.com/kf0fdjH.png <-- 在浏览器中查看的源截图

这是我目前使用的所有代码这是死的基本东西

应用程序/routes.php

//set base route
Route::get('/', 'HomeController@index');

应用程序/控制器/HomeController

<?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);
}

}

app/views/base.php(html布局模板)

<!doctype html>
<html>
<head>
<title>Something</title>
</head>
<body>
    <div class="container">
        @yield('content')
    </div>
</body>
</html>

应用程序/视图/test.blade.php

@section('content')
<h1>{{ $heading }}</h1>
<p>{{ $body }}</p>
@stop

差不多就是这样,我不知道为什么当我查看该网站时它没有出现。这确实有效,然后由于某种原因停止了,我不知道为什么。我什至尝试了全新安装的 laravel,结果相同。

4

1 回答 1

1

您需要将@extends 添加到您的test.blade.php 并将您的base.php 重命名为base.blade.php。

@extends('base')
于 2013-09-06T04:18:24.583 回答