我正在尝试使用Laravel和twitter bootstrap设置基本页面 . 我安装了Laravel并获得了通用的“你在这里”或w / e图像,因此看起来很闪亮 . 对于twitter bootstrap,我在/ resources / js,/ resources / css和/ resources / img下的/ boot文件夹中添加了twitter bootstrap文件 .
所以现在我正在尝试为我的视图制作一个模板,其中twitter bootstrap .css文件基本上都是在我的head标签中输出的,而bootstrap.min.js和jquery.js脚本包含在我的关闭body标签之前输出 .
所以这就是我的设置:
laravel/app/routes.php
Route::get('/', function()
{
return View::make('hello');
});
laravel/app/views/hello.php
@extends('layouts.master')
@section('content')
<p>This is my body content.</p>
@stop
laravel/app/views/layouts/master.blade.php
<html>
<head>
@section('head')
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="/resources/css/bootstrap.min.css" rel="stylesheet" media="screen">
@show
</head>
<body>
<div class="container">
@yield('content')
</div>
@section('footer_scripts')
<script src="http://code.jquery.com/jquery.js"></script>
<script src="/resources/js/bootstrap.min.js"></script>
@show
</body>
</html>
但它的刀片模板似乎没有渲染 . 这是我得到的输出:
@extends('layouts.master') @section('content')
This is my body content.
@stop
这就是它在页面上以及在视图源中的外观 . 没有html标签或脚本包括;没有 . 我必须遗漏一些基本的东西,并且我已经尝试查看Laravel文档,但我似乎无法弄清楚我做错了什么...有人能指出我正确的方向吗?
8 回答
要使用刀片模板,您必须具有
.blade
文件名,例如在您的情况下应该是否则,它将无法渲染 . 阅读Laravel Site的更多信息 . 这是我的一个测试项目(index.blade.php)的一个例子,因为你有一个拼写错误
@extends('layout.master')
它应该是这样的在你
laravel/app/views/hello.php
该文件应该是
hello.blade.php
,因为你想使用它的刀片模板引擎..就是这样 .有关模板的更多信息,请参见docs
另外,在您声明脚本的部分:
它可以用这个来完成:见this
只是你知道 . ;)
刚刚遇到了与最初描述相同的问题 . 但是:所有模板文件名都与* .blade.php匹配所需的规范 . 另外'layouts'路径名设置正确 . 结果仍然没有刀片渲染,输出仅限于
@extends('layouts.master')
.解决方案是:我在第一行使用了带有
<!-- app/views/index.blade.php -->
注释的复制粘贴视图脚本 . 从模板中删除此注释并将@extends('layouts.master')
放在我的视图脚本的第一行而不是诀窍 .招呼,麦克潘
嗨有同样的问题,我仔细检查了我的代码,结果我省略了一个$为我的变量和页面是空白无法呈现,但这是与流明,希望你也可以仔细检查你的代码
将@extends()放在第一行 .
我也遇到了同样的问题,然后我发现,在@extends('layouts.master')之前留下一个空格或一行,或者任何注释都不会呈现 . @extends('layouts.master')应放在最顶层 .
对我而言,这是由于括号之间的空格:而不是{{$ name}}我使用{{$ name}}并且它对我有效 .
我面临同样的问题,解决方案是
@extends('layouts.master')
必须在第一行 .