2016-08-30 4 views
3

私はこの問題を解決するために夢中になります。私は非常に単純なことをする必要があります - 変数をカスタムに渡す404ページレイアウト。 Laravelを使用すると、/resources/views/errors/404.blade.phpのようなファイルを作成することで、httpエラーのカスタムビューを簡単に作成できますが、なぜ簡単に変数を渡すことはできませんか?Laravelでhttpエラーレイアウトに変数を渡す方法は?

public function render($request, Exception $e) 
    { 
     if($this->isHttpException($e)){ 
      switch ($e->getStatusCode()) { 
       case '404': 
         parent::render($request, $e)->flash(); 
         $categories = Category::hierarchy(); 
         return View::make('errors.404')->with(['categories' => $categories]); 
       break; 

       default: 
        return $this->renderHttpException($e); 
       break; 
      } 
     } 
     return parent::render($request, $e); 
    } 

しかし、何らかの理由でこれが動作しないと私は私のマスターレイアウトでカテゴリ変数にアクセスすることはできません。

私は app/Exceptions/Handler.phprenderメソッドを上書きしてみました。エラーページにヘッダーを表示するサイトで作業していますが、エラービューに変数を渡すことができない場合は、ヘッダーを作成できません。

未定義の変数:カテゴリ

誰もが間違って行くことができるもののアイデアを持って?これを行うことは不可能でしょうか?例外を渡してメッセージを受け取ることができますが、そのポイントは何ですか?レイアウト全体を複製してすべての変数を書き直す必要はありません。

答えて

0

これはmyフォルダにview.blade.php$myVariableとしてwhatever you wantを渡しますAppServiceProvider.php

public function boot() 
{ 
    view()->composer('my.view', function($view) 
    { 
    $view->with('myVariable', 'whatever you want'); 
    }); 
} 

を追加します。タイプミスがあるかもしれません。

詳細情報:https://laracasts.com/series/laravel-5-fundamentals/episodes/25(9:32でコード)

関連する問題