在Laravel 4中的模板内嵌套模板?

时间:2013-07-11 16:13:23

标签: php laravel laravel-4

我想知道是否可以在Laravel 4中的模板内嵌套模板。我希望有一个主包装器模板,其中包含doctype,header和footer之类的东西,然后能够将模板加载到主模板主体部分。

这使我可以灵活地为我的应用程序页面创建一个嵌套模板,而不必重复代码,同时让我能够将主模板用于非应用程序页面。

有人可以举例说明如何使用刀片模板引擎完成这项工作吗?是否可以从路由器传入一个值,然后将该值下推到嵌套模板?

编辑:

这是我的index.blade.php代码

@extends('layouts.master')

@section('title')
   Some page
@endsection

@section('content')
  @include('layouts.app')
@endsection

1 个答案:

答案 0 :(得分:2)

您可以尝试使用多级嵌套

//index.blade.php
@extends('layouts.master')

@section('title')
@parent
:: new title
@stop

@section('content')
<p>some static contents here</p>
@stop

//app.blade.php
@section('content')
@parent
<p>Add here what ever you want to add</p>
@stop

now either from your Route or Controller you can nest the index and app, ex-
return View::make('index')->nest('content','layouts.app');

如果您想将数据传递给子视图,可以将数据作为第三个参数传递给nest()

return View::make('index')->nest('content','layouts.app',$data);