我正在寻找 Bootstrap 我的网站,因此,已将常见的 twitter bootstrap 组件放入 Blade 模板中。
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 被重复两次?有没有办法覆盖这种行为,或者我是否以一种从未打算过的方式使用 Blade 模板引擎?
最佳答案
您可以通过 overwriting 实现此目的这些部分.. 尝试您已经拥有的内容,但是使用这两个更新的 subview :
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
的预期用途。 ,所以彻底测试!
关于Laravel Blade 模板部分重复/缓存错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18659615/