Laravel 5 的继承
Inheritance with Laravel 5
我有一个 master_page.blade,其中包含我的 html:
的全球内容
<!DOCTYPE html>
<html lang="es">
<head>
@include('layout.head')
</head>
<body>
@include('layout.header')
@yield('master_content')
@section('footer')
@include('layout.footer')
@show
@include('layout.scripts')
@yield('custom_scripts')
</body>
</html>
之后,我在Bootstrap中有一个2-6列的布局,这个blade继承了master_blade,他的名字是2_10_columns.blade:
@extends('layout.master_page')
@section('master_content')
<div class="container">
<div class="main-content">
<div class="col-sm-2">
@section('content1')
@show
</div>
<div class="col-sm-10">
@section('content2')
@show
</div>
</div>
</div>
@stop
好的,这看起来不错,但是,最后我需要用一些内容填充 2_10_columns.blade,例如我用 mi contact.blade.php 尝试了这个:
@extends('layout.2_10_columns')
@section('content1')
<p>Column 2 left content of my section...</p>
@stop
@section('content2')
<p>Column 10 right content of my section ...</p>
...some forms here
@stop
绝对不行...
我如何用 Laravel 做到这一点?看看这张信息图:
它的工作原理是这样的(例如经过简化):
主布局:
<html>
<body>
<div class="container">
@yield('master_content')
</div>
</body>
</html>
2 列布局:
@extends('layouts.master')
@section('master_content')
<div class="co-l2">
<p>index</p>
@yield('sidebar')
</div>
<div class="col-10">
@yield('content')
</div>
@endsection
联系人视图:
@extends('layouts.2cols')
@section('sidebar')
<p>delete</p>
@endsection
@section('content')
<h1> person name </h1>
<p>about the person</p>
@endsection
我有一个 master_page.blade,其中包含我的 html:
的全球内容<!DOCTYPE html>
<html lang="es">
<head>
@include('layout.head')
</head>
<body>
@include('layout.header')
@yield('master_content')
@section('footer')
@include('layout.footer')
@show
@include('layout.scripts')
@yield('custom_scripts')
</body>
</html>
之后,我在Bootstrap中有一个2-6列的布局,这个blade继承了master_blade,他的名字是2_10_columns.blade:
@extends('layout.master_page')
@section('master_content')
<div class="container">
<div class="main-content">
<div class="col-sm-2">
@section('content1')
@show
</div>
<div class="col-sm-10">
@section('content2')
@show
</div>
</div>
</div>
@stop
好的,这看起来不错,但是,最后我需要用一些内容填充 2_10_columns.blade,例如我用 mi contact.blade.php 尝试了这个:
@extends('layout.2_10_columns')
@section('content1')
<p>Column 2 left content of my section...</p>
@stop
@section('content2')
<p>Column 10 right content of my section ...</p>
...some forms here
@stop
绝对不行...
我如何用 Laravel 做到这一点?看看这张信息图:
它的工作原理是这样的(例如经过简化):
主布局:
<html>
<body>
<div class="container">
@yield('master_content')
</div>
</body>
</html>
2 列布局:
@extends('layouts.master')
@section('master_content')
<div class="co-l2">
<p>index</p>
@yield('sidebar')
</div>
<div class="col-10">
@yield('content')
</div>
@endsection
联系人视图:
@extends('layouts.2cols')
@section('sidebar')
<p>delete</p>
@endsection
@section('content')
<h1> person name </h1>
<p>about the person</p>
@endsection