简体   繁体   English

如何更改控制器方法(Laravel)中的布局

[英]How can I change Layout in Controller's Method (Laravel)

I used multiple layouts in Laravel using code as below, it works. 我在Laravel中使用以下代码使用了多种布局,它可以正常工作。

class UsersController extends BaseController {

    public $layout = 'layouts.default';

    ...
}

But now I want to change the layout in Method (In UsersController) 但是现在我想更改Method(在UsersController中)的布局

public function myFunc(){

    //I want to change myFunc's layout to 'default2'

    $this->layout->content = View::make('user.myfunc');
}

How can I do? 我能怎么做? Because when I use $this->layout = 'layouts.default2' 因为当我使用$this->layout = 'layouts.default2'

it always returns me ErrorException: Attempt to assign property of non-object 它总是返回我ErrorException: Attempt to assign property of non-object

You can use this in your controller method : 您可以在控制器方法中使用它:

public function myFunc(){
    $this->layout = View::make('layouts.default2');
    $this->layout->content = View::make('user.myfunc');
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM