doudeng3008 2017-12-01 12:07
浏览 14
已采纳

Laravel中的页眉控制器

I am working on Laravel for the first time

i have to make a Front End Menu Dynamic in Header and Footer [ list of categories will come from database ]. which controller I have to use for this.? any common controller available in this framework to send data to header and footer.

When I receive the data in HomeController index Action its available for the home page only.

class HomeController {
public function index() 
    {
        $categories = Category::get();
        return view('home', compact('categories'));
    }
}

Thanks.

  • 写回答

3条回答 默认 最新

  • dqbr37828 2017-12-01 12:21
    关注

    This is a perfect case for View Composers:

    View composers are callbacks or class methods that are called when a view is rendered. If you have data that you want to be bound to a view each time that view is rendered, a view composer can help you organize that logic into a single location.

    You may attach a view composer to multiple views at once by passing an array of views as the first argument to the composer method:

    View::composer(['partials.header', 'partials.footer'], function ($view) {
        $view->with('categories', [1, 2, 3]); // bind data to view
    });
    

    Now you could simply retrieve $categories within your view (blade template).

    Tip: Common practice is to create a new service provider called ComposerServiceProvider and place the abovementioned composer logic in the boot() method.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?