刀片的替代方式@extends通过控制器?

时间:2014-01-04 18:47:03

标签: laravel-4

我创建的每个视图都必须使用@extends('my.layout.path')。有没有办法告诉控制器控制器中的以下视图将使用哪种布局?

2 个答案:

答案 0 :(得分:0)

Templates docs page上的第一件事:

  

在Laravel中使用模板的一种方法是通过控制器布局。通过在控制器上指定layout属性,将为您创建指定的视图,并且将是应该从操作返回的假定响应。

class UserController extends BaseController {

    /**
     * The layout that should be used for responses.
     */
    protected $layout = 'layouts.master';

    /**
     * Show the user profile.
     */
    public function showProfile()
    {
        $this->layout->content = View::make('user.profile');
    }
}

答案 1 :(得分:0)

nm,我为其他人想出来这就是我所做的:

class MyController extends basecontroller
{
    protected $layout = 'layouts.admin';
}

class DashboardController extends AdminBaseController
{
    public function index()
    {
        $this->layout->content = View::make('admin.dash');
    }
}

然后在视图中我只有

@section('content')
... some html
@stop