0

protected $layout = 'layouts.mylayout';使用時にLaravelが使用するレイアウトを定義するために$this->layout->content = View::make('myview');使用できますが、同じコントローラーで複数のレイアウトを使用する必要がある場合はどうすればよいですか?

4

2 に答える 2

1

このソリューションはどうですか?layoutコントローラーのメソッドでプロパティをオーバーライドしたり、コンテンツをそれに割り当てたりすることができます...応答は自動的に返されます。

注意するには、メソッドBaseControllerを含むコントローラーが拡張されていることを確認してください。setupLayout拡張しない場合setupLayoutは、コントローラー内に実装します。

<?php

class UsersController extends BaseController
{

    protected $layout = 'users.layout.main';

    public function getList()
    {
        $this->layout->content = View::make('users.list');
    }

    public function getDetail()
    {
        $this->layout = View::make('users.layout.detail');

        $this->layout->content = View::make('users.detail');
    }
}
于 2013-10-27T11:32:37.230 に答える