我正在尝试使用Laravel和twitter bootstrap设置基本页面。我安装了Laravel并得到了通用的#34;你在这里"或w / e图像,使其看起来有光泽。对于twitter bootstrap,我在/ resources / js,/ resources / css和/ resources / img下的/ boot文件夹中添加了twitter bootstrap文件。
所以现在我正在尝试为我的视图制作一个模板,基本上我的head标签中输出了twitter bootstrap .css文件,并且之前输出了bootstrap.min.js和jquery.js脚本包含我的关闭身体标签。
所以这就是我的设置:
laravel /应用/ routes.php文件
Route::get('/', function()
{
return View::make('hello');
});
laravel /应用/视图/ hello.php
@extends('layouts.master')
@section('content')
<p>This is my body content.</p>
@stop
laravel /应用/视图/布局/ 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文档,但我似乎无法弄清楚我做错了什么。有人能指出我正确的方向吗?
答案 0 :(得分:22)
要使用刀片模板,您必须在文件名中包含.blade
,例如在您的情况下应该
hello.blade.php
否则,它将不会渲染。详细了解Laravel Site。
这是我的一个测试项目(index.blade.php)中的一个示例,因为你有一个拼写错误@extends('layout.master')
它应该是这样的
@extends('layouts.master')
@section('content')
This is a sample of laravel 4 using blade template engine.
This is home page using HomeController and home.blade template.
@stop
答案 1 :(得分:3)
在laravel/app/views/hello.php
该文件应该是hello.blade.php
,因为你想使用它的刀片模板引擎......就是这样。
有关模板的更多信息,请参阅docs
另外,在您声明脚本的部分:
<script src="/resources/js/bootstrap.min.js"></script>
可以使用此方法完成:请参阅this
{{ HTML::script('resources/js/bootstrap.min.js') }}
就这样你知道。 ;)
答案 2 :(得分:2)
刚刚遇到了与最初描述的问题相同的问题。但是:所有模板文件名都与* .blade.php匹配所需的规范。 'layouts'路径名也设置正确。结果仍然没有刀片渲染,输出限制为@extends('layouts.master')
。
解决方案是:我在第一行使用了带有<!-- app/views/index.blade.php -->
注释的复制粘贴视图脚本。从模板中删除此注释并将@extends('layouts.master')
放在我的视图脚本的第一行而不是诀窍。
电贺, 麦克潘
答案 3 :(得分:2)
你有同样的问题,我仔细检查了我的代码,结果我省略了$ for我的变量,页面空白无法呈现,但这是与流明,希望你也可以仔细检查你的代码
答案 4 :(得分:1)
将@extends()放在第一行。
答案 5 :(得分:1)
我也遇到了同样的问题,然后我发现,在@extends(&#39; layouts.master&#39;)之前留下空格或一行,或者任何评论都不会呈现。 @extends(&#39; layouts.master&#39;)应放在最顶层。
答案 6 :(得分:0)
对我而言,这是由于括号之间的空格:而不是{{$ name}} 我使用了{{$ name}},它对我有用。
答案 7 :(得分:-1)
我面临同样的问题,解决方案是@extends('layouts.master')
必须在第一行。