0

我正在学习 Laravel 3,但 Blade 模板不起作用。我的代码似乎是正确的,但它显示的只是@layout('master'). 页面源也仅包含此文本。 application\views\home\index.blade.php内容:

@layout('master')

@section('main')
    {{ $greeting }}
@endsection

application\views\master.blade.php内容:

<!doctype html>
<html>
    <head>
    <meta charset="utf-8">
    <title>Hello world!</title>
</head>
<body>
    <div id="container">
        @yield('main')
    </div>
</body>
</html>

并在routes.php

Route::get('/, home', function()
{
$greeting = "Hello world";
return View::make('home.index')->with('greeting',$greeting);
});

什么会导致刀片不工作?我也尝试了 Laravel 4,并更改为@layout,@extends但情况相同。我只得到.@endsection@stop@extends('master')

4

3 回答 3

0

在 L4 中我也一样...检查您的代码编辑器的字符集!有时一些隐藏字符位于文件的开头。我切换到“没有 BOM 的 UTF-8”

于 2013-06-10T12:13:30.700 回答
0

不确定......但我认为这是因为你的文件顶部有一个空格......

@layout('master')

需要直接位于文件的顶部才能正常工作......否则它只是将@layout('master')作为页面回显,如果你知道我想说什么:)

于 2013-06-08T07:54:47.713 回答
0

只需删除代码前的每个空格或 EOL、CR、LF、Enter、\n (或其他)。Laravel 4 中的同样问题,我按照快速开始的步骤创建视图我留下了一个新行。

-New line here, and it brokes-
@extends('layout')

@section('content')
    Users!
@stop

再次删除之前的任何内容@extends('layout'),它对我有用!

于 2013-07-24T23:35:21.750 回答