2014-09-23 132 views
0

我有一个完整的html模板,我尝试使用laravel。 该模板有一个大图像滑块(应该只在主页上)以及其他一些代码,如联系表单,手风琴,叽叽喳喳小部件......我的目标是将这些部件放置在单独的刀片模板中,并在需要时调用它们。为此,我有这个文件夹方案。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'); 
}); 

这只能通过拉动滑块来呈现布局。但我想要联系表单来呈现。

+0

您应该编辑您的问题,但'slider.blade.php'来源 – 2014-09-23 19:25:10

+0

@MarcinNabiałek好的,但它与模板无关。阅读问题的最后一行。 – 2014-09-23 19:27:50

回答

1

master.blade.php文件,而不是

@yield('contact-form') 

你应该使用:

@include('home.contact-form') 

,或者您可以编辑您的slider.blade.php文件,并在末尾添加:

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

我不能做第一个,因为主模板可以按照许多页面共享,不需要显示联系表单。但我试过你的部分选项,它没有工作。它不包括联系表格。 – 2014-09-23 19:34:16

+0

@CONtext请同时包含'contact-form.blade.php'内容到您的问题 – 2014-09-23 19:39:34

+0

它与slider.blade.php完全一样,它只是说“我是联系表单”(这是用于测试目的) – 2014-09-23 19:40:47