2017-08-16 79 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

相关问题