1

現在、Laravel 4 を使用して簡単な日記アプリを作成しています。すべての管理ビューで共有されるサイドバーとヘッダーを作成したいと考えています。ヘッダーにはユーザー データを表示する必要があり、サイド バーにはアプリのさまざまなセクションへのリンクが含まれます。

View Composers を見たことがありますが、それらを適切に実装する方法、またはこれが意図されているものであるかどうかはわかりません。

これに関する明確なドキュメントやその他の素晴らしいリソースを提供していただければ幸いです。ありがとう。

ガレス

4

2 に答える 2

1

View Composer を介してやりたかったことをなんとか達成できましたが、それについてのあなたの考えと、それがベスト プラクティスまたは良い解決策と見なされるかどうかを知りたいです。

// View::composer for layouts.admin in my routes.php file
View::composer('layouts.admin', function($view)
{
    $user = AdminController::get();

    $view->with('user', $user);
});

// public static method get() in AdminController
public static function get()
{
    $userGreeting = Auth::user()->greetings()->orderBy(DB::raw('RAND()'))->first();

    $user = new User;
    $user->first_name = Auth::user()->first_name;
    $user->greeting = $userGreeting->greeting;

    return $user;
}

// layouts.admin view
{{ Html::link('logout', 'Logout') }}
<p>Hey {{ $user->first_name }}</p>
<p>{{ $user->greeting }}</p>
于 2013-04-21T17:43:05.347 に答える