【问题标题】:Laravel 3 blade template is not workingLaravel 3刀片模板不起作用
【发布时间】:2013-06-04 11:41:54
【问题描述】:

我正在学习 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')

【问题讨论】:

    标签: laravel blade


    【解决方案1】:

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

    @layout('master')
    

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 在 L4 重新安装解决了这个问题。但是不知道L3有什么问题。
      【解决方案3】:

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

      -New line here, and it brokes-
      @extends('layout')
      
      @section('content')
          Users!
      @stop
      

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

      【讨论】:

        猜你喜欢
        • 2014-11-15
        • 2016-03-11
        • 1970-01-01
        • 2013-02-03
        • 2018-05-28
        • 2019-01-31
        • 2017-07-31
        • 2019-06-26
        • 2019-05-15
        相关资源
        最近更新 更多