Laravel 4中的子模板(或子部分)

时间:2013-10-24 18:38:50

标签: laravel laravel-4 blade

我不能扩展已扩展另一个的布局吗?

我想要

// layouts/default.blade.php
<html>
...
@yield('content')
...
</html>

直到那时它很好......

// users/myaccount.blade.php
@extends('layouts.default')

@section('content')
    @section('user-page')
        some default static content for the user page
    @stop
@stop

但是当我尝试使用

修改user-page部分的内容时
// users/orders.blade.php
@extends('users.myaccount')

@section('user-page')
    content for messages page
@stop

没有交易。它呈现我的帐户的内容,但不是订单的内容。 我从UserController这样调用它

public function orders() {
    return View::make('users.orders');
}

我错过了什么?我可以只扩展一次布局吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

这个怎么样?

layouts/default.blade.php

<!DOCTYPE html>
<html>
<head>
    <title>App</title>
</head>
<body>
    @include('users.myaccount')
    @yield('content')
</body>
</html>

users/myaccount.blade.php

<p>some default static content for the user page</p>

users/orders.blade.php

@extends('layouts.default')

@section('content')
    <p>content for messages page</p>
@stop

控制器功能

public function orders() {
    return View::make('users.orders');
}