Laravel 模板显示路线中的两个刀片模板
Posted
技术标签:
【中文标题】Laravel 模板显示路线中的两个刀片模板【英文标题】:Laravel template showing two blade templates from route 【发布时间】:2014-11-18 02:56:42 【问题描述】:我有一个完整的 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');
);
这仅通过拉动滑块来呈现布局。但我也想联系要呈现的表格。
【问题讨论】:
你应该编辑你的问题,但是slider.blade.php
source
@MarcinNabiałek 好的,但这与模板无关。阅读问题的最后一行。
【参考方案1】:
在master.blade.php
文件中而不是
@yield('contact-form')
你应该使用:
@include('home.contact-form')
或者您可以编辑您的 slider.blade.php
文件并在末尾添加:
@section('contact-form')
@include('home.contact-form')
@stop
【讨论】:
我不能做第一个,因为主模板可以根据许多页面共享,不需要显示联系表格。但是我尝试了您的部分选项,但它不起作用。它不包括联系表格。 @CONtext 请在您的问题中也包含contact-form.blade.php
内容
和slider.blade.php完全一样,只是说“我是联系表”(这是为了测试目的)
顺便说一句:您对我的愚蠢路由有什么建议吗,即return View::make('home/slider');
我可以将slider.blade.php
更改为index.blade.php
但是,这是错误的,因为它只包含一张幻灯片并包含联系表格.
我将创建仅包含内容的文件(不产生或扩展),然后在例如 index.blade.php 使用 include 产生 2 个块,正如我之前为滑块显示的那样以上是关于Laravel 模板显示路线中的两个刀片模板的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 扩展刀片模板 - $errors 集合中的错误