Невозможно отобразить виджеты Laravel Voyager на панели инструментов

Я пытаюсь отобразить виджеты на панели инструментов, но они не отображаются.

Я слежу за этим видео Voyager Academy Video 15 — Custom Dashboard Widgets

Я сделал все, что он сделал в этом видео, но не могу ничего отобразить на своей панели инструментов.

конфиг->вояджер.php

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

И я создал новую папку Widgets внутри приложения

приложение->Виджеты->Новости.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(), это просто копипаста.


person Vpa    schedule 17.01.2019    source источник


Ответы (4)


Есть кеш. Просто выполните - php artisan config:cache

person Thalles Freitas    schedule 27.01.2019
comment
Я устанавливаю свежий laravel & voyager, и он работает. Спасибо за ответ. - person Vpa; 29.01.2019

это проблема :

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

Как упоминалось здесь: https://stackoverflow.com/a/54451571/11387981 опубликовать туда же: изменить функцию возврата.

person HRD    schedule 23.01.2020

Если вы столкнулись с той же проблемой и не видите никаких изменений после изменения файла config/voyager.php, попробуйте выполнить

php artisan config:clear
person moonvader    schedule 04.05.2020

прежде всего вам нужно внести несколько изменений в:

  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

и все получится, удачи

person saidhr20    schedule 25.07.2020