laravel 5:View Composer无法正常工作

时间:2015-04-09 07:35:28

标签: php laravel view composer-php laravel-5

我正在尝试将所有页面上显示的数据传递给导航。我已经为App Service Provider启动方法添加了一个视图编辑器。以下是它的外观:

public function boot()
    {
        View::composer('_nav', function($view)
        {
            $view->with('catList', Category::all());
        });
}

在_nav partial中我试图计算$ catList的值,但是laravel给出了以下错误:

Undefined variable: catList (View: /home/ubuntu/workspace/resources/views/_nav.blade.php) 

2 个答案:

答案 0 :(得分:1)

在Laravel 5中,与Laravel 4相比,视图作曲家的处理方式有所不同。尝试下面的内容。

public function boot()
{
    $this->app['view']->composer('_nav',function($view){
        $view->catList =  Category::all();
    });
}

答案 1 :(得分:0)

我有一个类似的问题,以下为我工作,

在顶部添加以下用法声明:

use View;

然后

public function boot() {    
   View::composer('partials.sidebar', function($view)
    {
        $title = "Page Title";
        $view->with('title', $title);
    });
}

如果仍有问题,请尝试添加调试语句并查看是否

Category::all()

呼叫正在返回数据。