2016-06-23 6 views
1

管理者がデータベースに保存されている管理パネルから新しいページを追加するためにadminが使用できる機能を作成しました。今はそれらをヘッダーのメニューとして表示したいと思います。動的ページを追加してヘッダメニューに表示するLaravel

これは私のBaseController負荷master.blade

protected function setupLayout() 
{ 
    if (!is_null($this->layout)) 
    { 
     $pages = Pages::all(); 
     $this->layout = View::make($this->layout); 
    } 
} 

そして、これは私が私が私が持っているUndefined variable pages...

を取得するページ

@foreach($pages as $page) 
    <li><a href="{{ URL::to($page->page_id) }}">{{ $page->page_title }}</a></li> 
@endforeach 

を表示しようとしている何master.bladeからです単純にこれをsetupLayout()$pages = Pages::all();に追加しようとしましたが動作しません。

答えて

0

レイアウトページに$ pages変数を渡す必要があります。それ以外の場合、laravelは$ pages変数を識別しません。 View::make($this->layout)->with(["pages"=>$pages])

+0

にあります。ありがとうございますが、foreachの '未定義変数:pages'をまだ持っています –

+0

' View :: share ' '、$ pages); ' –

+0

どうすればいいですか? –

0

ビューに$ページを渡していません。

$this->layout = View::make($this->layout); 

へ:

$this->layout = View::make($this->layout, ['pages' => $pages]); 

チェックofficial documentation、非常に役立つ、この行を変更します。

これが役に立ちます。

+0

ありがとうございますが、未定義の変数は次のようにforeach \ –

関連する問題