2017-08-16 116 views
0

我有一個佈局包含頭部,包括導航欄和滑塊圖像。如何將刀片模板包含在另一個元素中

views文件夾中有結構,如:

+ layouts 
    - index.blade.php 
    - master.blade.php 

+ posts 
    - list.blade.php 

+ partials 
    - navbar.blade.php 
    - footer.blade.php 

注:

+a folder

-blade template file

通常,在master.blade.php是聲明的CSS/JS文件,包括導航欄和頁腳刀模板。

但是在div#home的導航欄中,此元素包含導航欄和滑塊。

<section id="home"> 
    @include('partials.navbar') 
    <!-- slider start --> 
    @yield('slider_images') 
    <!-- slider end --> 
</section> 

所以,我不能拆分導航欄插入到master.blade.php。你可以看到master.blade.php喜歡:

//add some js and css. 
<body> 

    @yield('content') 

    @include('partials.footer') 

</body> 

我不添加一行:@include('partials.navbar'),因爲它包括幻燈片。

臨時解決方案是將其添加到index.blade.php

但問題是:我有一個子頁面,它@extends('layouts.master')。但layout.master不包含partials.navbar。它只需要導航欄和頁腳,不需要滑塊。

有沒有任何方法可以做到這一點,而無需更改HTML文件的結構。

回答

1

你可以考績一個變量葉片模板:

@include('partials.navbar', ['slider' => true]) 

,然後在導航欄,你可以檢查以如下方式可變

@if(isset($slider) && $slider === true) 
    <!-- slider start --> 
    @yield('slider_images') 
    <!-- slider end --> 
@endif 

滑塊將顯示只有當滑塊變量設置爲true

相關問題