我的个人博客:逐步前行STEP

为了添加自定义按钮,按官方文档分4步走:
1、先定义工具类app/Admin/Extensions/Tools/ShowArtwork.php:

<?php

namespace App\Admin\Extensions\Tools;

use Encore\Admin\Admin;
use Encore\Admin\Grid\Tools\AbstractTool;
use Illuminate\Support\Facades\Request;

class ShowArtwork extends AbstractTool
{
    protected  $url;
    protected  $icon;
    function __construct($url,$icon,$text)
    {
        $this->url = $url;
        $this->icon = $icon;
        $this->text = $text;
    }

    public function render()
    {
        $url = $this->url;
        $icon = $this->icon;
        $text = $this->text;
        return view('admin.tools.button', compact('url','icon','text'));
    }
}

2、定义试图文件:resources/views/admin/tools/button.blade.php

<div class="btn">
    <a class="btn btn-sm btn-default  pull-right" href="{{$url}}"><i class="fa {{$icon}}"></i> {{$text}}</a>
</div>

3、在model-grid引入这个工具:


            $grid->tools(function ($tools)use($artworkid) {
                $url = "/admin/artimage";
                $icon = "fa-backward";
                $text = "Back";
                $tools->append(new ShowArtwork($url,$icon,$text));

                $url = "/admin/artimage/".$artworkid."/view";
                $icon = "fa-eye";
                $text = "Show Artwork";
                $tools->append(new ShowArtwork($url,$icon,$text));
            });

大功告成!

标签: none

添加新评论