进入laravel并尝试使用刀片模板,但不能渲染。我的所有例子都是为laravel文档而来。
更新 这是我在资源>中的 master.blade.php文件。意见> master.blade.php
<!DOCTYPE html>
<html>
<head>
@yield('layouts.header')
</head>
<body>
<div class="container">
<div class="content">
<div class="title">Test to Laravel 5</div>
</div>
</div>
</body>
</html>
这是我的 header.blade.php文件,位于view / layouts /
@section('header')
<title>cookie monster</title>
<link href="https://fonts.googleapis.com/css?family=Lato:100" rel="stylesheet" type="text/css">
<style>
html, body {
height: 100%;
}
body {
margin: 0;
padding: 0;
width: 100%;
display: table;
font-weight: 100;
font-family: 'Lato';
}
.container {
text-align: center;
display: table-cell;
vertical-align: middle;
}
.content {
text-align: center;
display: inline-block;
}
.title {
font-size: 96px;
}
</style>
@endsection
当我尝试渲染我的页面时,即使我有内联css,也没有添加任何样式,因为我只测试了刀片模板引擎的工作方式。
答案 0 :(得分:4)
您希望使用@include('layouts.header')
而不是@yield
。
@yield
是您在主模板上使用的,用于指定内容的位置,然后您可以在子视图上定义。
@include
“允许您轻松地在现有视图中包含Blade视图。” - https://laravel.com/docs/5.1/blade
答案 1 :(得分:0)
你的布局需要扩展一些东西。这样它就可以利用模板中定义的区域。
@extends('master')
答案 2 :(得分:0)
您应该从header.blade.php
延长master.blade.php
。
将以下行添加到header.blade.php
@extends('master')
然后您可以编辑@yield
。产量和截面必须相同。例如:
<强> master.blade.php 强>
@yield('header')
header.blade.php (使用@stop
代替@endsection
)
@section('header')
header content
@stop
答案 3 :(得分:0)
布局:
@yield('header')
</head>
<body>
<div class="container">
<div class="content">
@yield('content')
<div class="title">Test to Laravel 5</div>
</div>
</div>
</body>
</html>
现在,您在控制器中使用
return view('someview');
并查看代码
@extend('layout')
@section('header')
<title>cookie monster</title>
@endsection
@section('content')
bla-bla-bla, render me IN content section of layout
@endsection
,结果应为
<!DOCTYPE html>
<html>
<head>
<title>cookie monster</title>
</head>
<body>
<div class="container">
<div class="content">
bla-bla-bla, render me IN content section of layout
<div class="title">Test to Laravel 5</div>
</div>
</div>
</body>
</html>
答案 4 :(得分:0)
我遇到了类似的问题:
布局/用户profile.blade.php
<body>
@yield('main')
@yield('footer')
</body>
用户简档/ create.blade.php
@extends('layouts.user-profile')
@section('main')
<!-- include a personal-info sub-section -->
@include($templateName)
@stop
@section('footer')
<script></script>
@stop
问题在于这个子部分继承需要刀片@parent
,因此所有@section('footer')
块都在@yield('footer')
用户简档/创建/个人info.blade.php
@section('footer')
@parent
// subsection scripts
@stop