我期待Bootstrap我的网站,因此,已将常见的twitter引导组件放入刀片模板。
sidebar.blade.php
@include('panel1')
@include('panel2')
panelTemplate.blade.php
<div class="panel panel-primary">
<div class="panel-heading">
<div class="panel-title">
@yield('title')
</div>
</div>
<div class="panel-body">
@yield('body')
</div>
<div class="panel-footer">
@yield('footer')
</div>
</div>
这样,每次我想使用面板时,我都可以使用@extends('panelTemplate')
。
panel1.blade.php
@extends('panelTemplate')
@section('title')
title panel 1
@stop
@section('body')
body panel 1
@stop
@section('footer')
footer panel 1
@stop
panel2.blade.php
@extends('panelTemplate')
@section('title')
title panel 2
@stop
@section('body')
body panel 2
@stop
@section('footer')
footer panel 2
@stop
我面临的问题是,panel1.blade.php
的内容panel2.blade.php
正在sidebar.blade.php
中,而不是显示panel1.blade.php
的内容。重复(显示两次)。
Blade是否缓存了请求,这就是为什么panel1重复两次?有没有办法覆盖这种行为,或者我是否以一种从未想过的方式使用刀片模板引擎?
答案 0 :(得分:9)
你可以通过overwriting部分实现这一点..尝试你已经拥有的,但是有了这两个更新的子视图:
<强> panel1.blade.php 强>
@extends('panelTemplate')
@section('title')
title panel 1
@overwrite
@section('body')
body panel 1
@overwrite
@section('footer')
footer panel 1
@overwrite
<强> panel2.blade.php 强>
@extends('panelTemplate')
@section('title')
title panel 2
@overwrite
@section('body')
body panel 2
@overwrite
@section('footer')
footer panel 2
@overwrite
虽然我不确定这是@overwrite
的预期用途,但已在此处进行了测试和测试,因此请彻底测试!