我有面包屑在我的master.blade.php文件,我希望面包屑在任何地方使用,但主页。blade.php.
现在这是我如何添加链接到面包屑在其他页面,如"关于"。about.blade.php:
@section('breadcrumbs')
@parent
<li class="last-breadcrumb">
About
</li>
@stop
master.blade.php中的:
<div class="container">
<div class="breadcrumb-container">
<ul class="breadcrumb">
@section('breadcrumbs')
<li>
<a href="/homepage/" title="homepage">
homepage
</a>
</li>
@show
</ul>
</div>
</div>
,但我不想在主页时显示面包屑代码。
复制每个about.blade/X的代码。刀片文件似乎是个坏主意…
你可以在你的控制器中设置一个值,你通过像$data['breadcrumb'] = true
这样的make/redirect传递,并将你的breadcrumb代码包装在一个条件中。这种类型的系统也适用于错误和成功消息,因为您也可以从控制器发送内容。然后你会发送一个数组的值,而不是true
。
叶片模板
<div class="container">
@if($breadcrumb)
<div class="breadcrumb-container">
<ul class="breadcrumb">
@section('breadcrumbs')
<li>
<a href="/homepage/" title="homepage">
homepage
</a>
</li>
@show
</ul>
</div>
@endif
</div>
您可以检查URI,看看是否要显示它。这是逻辑,在你看来,这通常是不赞成的,但这是我能想到的最简单的方法。
<div class="container">
<div class="breadcrumb-container">
<ul class="breadcrumb">
@if(Route::uri() == '/')
<li class="last-breadcrumb">
About
</li>
@endif
<li>
<a href="/homepage/" title="homepage">
homepage
</a>
</li>
@show
</ul>
</div>
</div>
根据您的主页所使用的URI,您可能需要调整条件
如果你在主模板中使用@yield
,那么它只会在section被定义时显示内容。@content
要求始终定义section