Laravel 曾经定义收益内容

Posted

技术标签:

【中文标题】Laravel 曾经定义收益内容【英文标题】:Laravel once defind yield content 【发布时间】:2014-10-21 03:45:49 【问题描述】:

我正在尝试从控制器中获取我的内容。但我不想一次又一次地定义我想产生“内容”部分

这个怎么存档,不用放了

@section('body')
<h1>Content</h1>
<p>More content</p>
@stop

再次是每个视图

例如,带有 RenderBody() 的 ASP.NET MVC

【问题讨论】:

您在view 中哪里使用了yield?你的控制器代码在哪里?您使用的是Blade template 哪个extends 主布局? 【参考方案1】:

使用Blade 模板引擎,在您的“app/views/layouts”文件夹中创建一个主layout,类似于此模板:

<!-- master.blade.php -->
<html>

    <head></head>

    <body>
         <div class="container">
             @yield('content')
         </div>
    </body>

</html>

然后在你的every child view中,扩展master view,例如:

<!-- home.blade.php -->
@extends('layouts.master')

@section('body')
    <h1>Content</h1>
    <p>More content</p>
@stop

所以,只要你会使用这样的东西:

return View::make('home');

您的子视图将扩展主视图,并且内容将在 div.container 中生成。

【讨论】:

问题是我不想再次为每个视图使用“部分”。我想设置 de section 一次 en 永远不要为子视图重复它

以上是关于Laravel 曾经定义收益内容的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 调度程序自定义 Cron 表达式不起作用

如何在自定义 URL 上运行 Laravel mix?

laravel中的全局变量

Laravel 队列:在主机中永远运行的工作?

laravel定义全局变量

Laravel 5.2 分页自定义