0

私はlaravelのブレードテンプレートを使用しており、すべてのページにマスターテンプレートがあります。マスター テンプレートには、トップ バーとサイドバーがあります。サイドバーに何かをロードしたい。しかし、もっと簡単な方法でそれを行う方法がわかりません。今、私はこのように持っているすべてのコントローラーでそのメソッド(サイドバーに表示したい)を呼び出しています:

View::make()->with('data_to_load_in_sidebar',$data_to_load_in_sidebar)

ビューを生成するたびにではなく、これを一度だけロードするにはどうすればよいですか?

4

2 に答える 2

1

コンストラクターでトップバーとサイドバーのデータを共有します(できれば、他のコントローラーが拡張する一部のBaseControllerのコンストラクターで)。

public function __construct()
{
    // if needed, call parent's contructor method as well
    parent::__construct()

    $data_to_load_in_sidebar = loadDataForSidebar();
    View::share('data_to_load_in_sidebar',$data_to_load_in_sidebar)
}
于 2013-07-16T12:00:43.147 に答える