2016-12-19 65 views
0

我已經定義了一個類別模型和表格,通過我的Laravel應用程序的後端進行填充。我想顯示類別作爲菜單項。Laravel在佈局模板上顯示動態菜單項

在我的控制,我有一些像

public function index() 
{ 
    $categories = Category::all(); 
    return view('layouts.app', ['categories' => $categories]); 
} 

這樣的想法是,我可以在對這些類別的layouts.app模板循環。

@foreach($categories as $category) 
     <li><a href="..." class="user-icon">{{ $category->name}} </a></li> 
@endforeach 

如何確保我的應用程序在所有頁面(使用layouts.app模板)上顯示這些類別。通常可以創建一個路由條目,但如何爲layouts.app模板執行此操作?

回答

0

創建一個新的模板(例如categories.blade.php

public function index() 
{ 
    $categories = Category::all(); 
    return view('categories', ['categories' => $categories]); 
} 

,並確保它擴展了佈局:

@extends('layouts.app') 

@foreach($categories as $category) 
     <li><a href="..." class="user-icon">{{ $category->name}} </a></li> 
@endforeach 
0

您可以使用view()->composer('*')這將使可用於所有的意見變量。

view()->composer('*', function ($view) { 

    $categories = Category::all(); 

    return $view->with('categories', $categories); 
}); 

您還可以更改*指定分組,如foo.bar