我是Laravel的新手,我正在尝试为我正在制作的新网站创建我的第一个布局。
我遇到的问题是<head>
中我想要的内容进入<body>
,<head>
为空。
我有:
layout.blade.php
<!DOCTYPE html>
<html>
<head>
<title>@section('title')</title>
{{ HTML::style('https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css'); }}
</head>
<body>
<h1>@yield('h1')</h1>
@yield('content')
{{ HTML::script('js/jquery-1.11.1.min.js'); }}
{{ HTML::script('https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js'); }}
</body>
</html>
users.blade.php
@extends('layouts.layout')
@section('title')
Users Page - 1
@section('h1')
<?PHP echo $h1;?>
@stop
我哪里错了?
在我看来,@yeild
和@section
中的差异是什么?
答案 0 :(得分:3)
实际上你应该使用yield
来转储内容,例如,如果你有像这样的桅杆布局:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
@yield('content')
</body>
</html>
然后您可以在您的孩子视图中使用以下内容:
extends('layouts.master')
@section('content')
Everything within this section will be dumped
in to `@yield('content')` in your master layout.
@stop
您应该使用@stop
来关闭该部分的任何部分。也许你可以尝试这样的事情:
<!DOCTYPE html>
<html>
<head>
<title>{{ $title }}</title>
{{ HTML::style('https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css') }}
</head>
<body>
@yield('content')
{{ HTML::script('js/jquery-1.11.1.min.js'); }}
{{ HTML::script('https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js'); }}
</body>
</html>
从controller
您可以传递标题:
return View::make('viewname')->with('title', $title);
详细了解Laravel website上的Templates
。
答案 1 :(得分:0)
在 layout.blade.php 中尝试此操作。您正在扩展此刀片式服务器模板,因此您应该在@yield('title')
代码中使用<title>
,并且@stop
每@section
个
<!DOCTYPE html>
<html>
<head>
<title>@yield('title')</title>
{{ HTML::style('https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css'); }}
</head>
<body>
<h1>@yield('h1')</h1>
@yield('content')
{{ HTML::script('js/jquery-1.11.1.min.js'); }}
{{ HTML::script('https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js'); }}
</body>
答案 2 :(得分:0)
虽然原因不同,但我们遇到了同样的问题。在@section('body')之前,有两个@includes来自源代码。我们不知道为什么会导致标题问题,但确实如此。这是
@extends('layouts.plane')
@include("layouts.modal-quote-create")
@include("layouts.modal-mulch-types")
@section('body')
我们将其更改为:
@extends('layouts.plane')
@section('body')
@include("layouts.modal-quote-create")
@include("layouts.modal-mulch-types")
并且处理了这个问题。