Voyager下的Dashboard Widgets

widgets设置,voyager.php下找到'widgets':

'widgets' => [
            'TCG\\Voyager\\Widgets\\UserDimmer',
            'TCG\\Voyager\\Widgets\\PostDimmer',
        ],

效果如下:
效果显示

根据命名空间查找:vendor/tcg/voyager/src/Widgets,下面我们进行自定义
在voyager.php添加 'App\Widgets\Products':

'widgets' => [
            'TCG\\Voyager\\Widgets\\UserDimmer',
            'TCG\\Voyager\\Widgets\\PostDimmer',
            'App\\Widgets\\Products',
        ],

在app目录下创建Widgets文件夹,创建Products.php

<?php

namespace App\Widgets;

use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Str;
use TCG\Voyager\Facades\Voyager;
use Arrilot\Widgets\AbstractWidget;

class Products extends AbstractWidget
{
    /**
     * The configuration array.
     *
     * @var array
     */
    protected $config = [];

    /**
     * Treat this method as a controller action.
     * Return view() or other content to display.
     */
    public function run()
    {
        $count = \App\Product::count();
        $string = 'Products';

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

    /**
     * Determine if the widget should be displayed.
     *
     * @return bool
     */
    public function shouldBeDisplayed()
    {
        return Auth::user()->can('browse', Voyager::model('Post'));
    }
}

最后一个是我们添加的:
效果显示

修改背景图片:
上unsplush网站,找到一张合适的图片,然后修改image:
'image' =>'images/products-dimmer.jpg',
显示效果如下:
完成效果

猜你喜欢

转载自www.cnblogs.com/carious/p/10125951.html