无法在仪表板中显示Laravel Voyager小部件

时间:2019-01-17 06:59:00

标签: php laravel-5 voyager

我正在尝试在仪表板上显示小部件,但它无法显示任何小部件。

我关注此视频Voyager Academy Video 15 - Custom Dashboard Widgets

我做了他在视频中所做的一切,但是无法在我的仪表板上显示任何内容。

  

config-> voyager.php

'widgets' => [
        'App\\Widgets\\News',
    ],

我已经在应用程序中创建了一个新文件夹Widgets

  

app-> Widgets-> News.php

<?php
  namespace App\Widgets;
  use Illuminate\Support\Facades\Auth;
  use Illuminate\Support\Str;
  use TCG\Voyager\Facades\Voyager;
  use Arrilot\Widgets\AbstractWidget;

  class News extends AbstractWidget
  {

     protected $config = [];

     public function run()
     {
       $count = Voyager::model('Post')->count();
       $string = trans_choice('voyager::dimmer.post', $count);

       return view('voyager::dimmer', array_merge($this->config, [
        'icon'   => 'voyager-news',
        'title'  => "{$count} {$string}",
        'text'   => __('voyager::dimmer.post_text', ['count' => $count, 'string' => Str::lower($string)]),
        'button' => [
            'text' => __('voyager::dimmer.post_link_text'),
            'link' => route('voyager.posts.index'),
        ],
        'image' => voyager_asset('images/widget-backgrounds/02.jpg'),
      ]));
   }

   public function shouldBeDisplayed()
   {
      return Auth::user()->can('browse', Voyager::model('Post'));
   }
 }

忽略run()函数内部,只是复制粘贴。

4 个答案:

答案 0 :(得分:0)

是缓存。 只需执行-php artisan config:cache

答案 1 :(得分:0)

这是问题所在

public function shouldBeDisplayed()
   {
      return Auth::user()->can('browse', Voyager::model('Post'));
   }

如此处所述:https://stackoverflow.com/a/54451571/11387981 post更改为:更改返回功能。

答案 2 :(得分:0)

如果您遇到相同的问题,并且在修改config/voyager.php文件后看不到任何更改,请尝试执行

php artisan config:clear

答案 3 :(得分:0)

首先,您需要对以下内容进行一些更改:

  1. 将文件名和类名从“ News.php”编辑为“ NewsDimmer.php”。
  2. 将文件目录从“ app \ Widgets”更改为“ vendor \ tcg \ voyager \ src \ Widgets \ NewsDimmer.php”
  3. 将命名空间编辑为“命名空间TCG \ Voyager \ Widgets”
  4. 更改config / voyager.php: 'widgets'=> [ 'TCG \ Voyager \ Widgets \ NewsDimmer', ],

然后,运行php artisan config:cache

它将起作用,祝你好运