Laravel在单个函数中加载多个视图

时间:2017-02-19 12:57:15

标签: php model-view-controller laravel-5

我只知道如何在单个控制器函数中调用多个视图。

我正在尝试这个:

return  View::make('header');
return  View::make('main');
return  View::make('footer');

任何建议。我怎么称呼他们? 提前谢谢..

3 个答案:

答案 0 :(得分:3)

您应该使用sections创建一个视图,以便于重复使用。然后它允许你组成各个部分。

<强> layout.blade.php

@yield('header')
@yield('body')
@yield('footer')

<强> combined.blade.php

@extends('layouts.layout')

@section('header')
    @include('header')
@stop

@section('body')
    @include('body')
@stop

@section('footer')
    @include('footer')
@stop

<强>控制器

<?php

function index()
{
    return view('combined');
}

目录结构

/resources
  /views
    /combined.blade.php
    /layouts
      /layout.blade.php

答案 1 :(得分:0)

return关键字会停止执行您的方法/函数,因此它会忽略其余行。

如果符合您的要求,您可以尝试连接make来电话。

return  View::make('header') . View::make('main') . View::make('footer');

但也许这不是你想做的?为什么不使用模板系统并在其中包含这些文件?

答案 2 :(得分:0)

您可以使用单行方法来加载多个刀片。

例如:

return view('header').view('login').view('footer');