附加到@section

时间:2014-03-10 16:38:54

标签: php laravel-4 blade

我正在使用Laravel 4,我想扩展已放置在master.blade.php模板中的内容。

<!DOCTYPE html>
<html>
    <head>
    @section('head')
        @parent
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <title>{{$title}}</title>
        <meta name="description" content="{{$description}}">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <link rel="stylesheet" href="{{ asset('assets/css/main.css') }}">
    @show
    </head>
    <body>
    ...

例如,我的home.blade.php模板:

@section('head');
appending to head....
@show

@section('content')
    <h2>Hello World</h2>
@show

所以我试图将“追加头......”附加到模板中。但它只是取代了已有的东西。通过一些研究,我得出结论,这是不可能的,但我不知道我还能做到这一点..部分?包括?

我该怎么办?

1 个答案:

答案 0 :(得分:0)

在扩展master.blade.php的home.blade.php模板中使用此代码:

这可能是你的home.blade.php

@extends('master')

@section('head')
  @parent 
  {{{ $head_data }}}
@stop

{{-- Content --}}
@section('content')
  Here comes you content...
@stop

您可以从控制器中调用它

<?php

class HomeController extends Controller {

  public function getIndex()
  {

    $head_data = 'appending to head....';

    return View::make('home', compact('head_data'));
  }

}