Laravel模板显示了路由中的两个刀片模板


Laravel template showing two blade templates from route

我有一个完整的html模板,我正试图与laravel一起使用。该模板有一个大的图像滑块(应该只在主页中)和一些其他代码,如联系人表单、手风琴、推特小部件。。。我的目标是将这些部件放置在单独的刀片模板中,并在需要时调用它们。为此,我有这个文件夹方案。

..
/views
  /emails
  /home
    - slider.blade.php
    - contact-form.blade.php
    - twitterwidget.blade.php
  /layouts
    - master.blade.php

例如,master.blade.php看起来是这样的。

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
 <div class='header'>
  //header 
  @yield('slider')
 </div>
 <div class='content'>
  //content
   @yield('contact-form')
 </div>
 <div class='footer'>
  //footer
 </div>
</body>
</html>

现在这是一个基本的例子,yields是标题标签内的滑块,这就是slider.blade.php:

@extends('layouts.master')
@section('details')
<div class='slider'> I am a slider </div>
@stop

但当我创建一条路线时,我被迫创建一个点对一个模板。作为:

Route::get('/', function(){
    return   View::make('home/slider');
});

这仅通过拉动滑块来渲染布局。但我想联系的形式也被渲染。

master.blade.php文件中,而不是

@yield('contact-form')

您应该使用:

@include('home.contact-form')

或者你可以编辑你的slider.blade.php文件并在最后添加:

@section('contact-form')
    @include('home.contact-form')
@stop