admin.php 自定义,编码会馆-laravel-admin中添加自定义操作项

#### 版本环境:

- **laravel-admin 1.8.1**

- **laravel5.8 **

- **php7.4**

#### 在config/admin.php配置文件

```php

// 最原始的`按钮图标`形式

//'grid_action_class' => \Encore\Admin\Grid\Displayers\Actions::class,

// 使用`下拉菜单`形式

'grid_action_class' => \Encore\Admin\Grid\Displayers\DropdownActions::class,

// 使用`右键菜单`形式

//'grid_action_class' => \Encore\Admin\Grid\Displayers\ContextMenuActions::class,

```

下拉菜单

**不添加这个配置,$actions->add会报错Call to undefined method** 试试就知道了!

![](http://www.seedblog.cn/uploads/article/2020-07-02/MtqVcglF7DIcSiF7EpMG488LHH4jLnNgxmRBcUmm.png)

#### 添加操作按钮

在grid() 方法中添上以下代码

```php

$grid->actions(function (Grid\Displayers\Actions $actions) {

// 添加操作按钮

$actions->add(new Money);

});

```

#### 具体操作

App\Admin\Actions\Users; 在这里创建 Money.php 文件

具体操作代码如下

```php

namespace App\Admin\Actions\Users;

use Encore\Admin\Actions\RowAction;

use Illuminate\Database\Eloquent\Model;

use Illuminate\Http\Request;

use App\Models\Accounts;

class Money extends RowAction

{

public $name = '充币';

public function handle(Model $model, Request $request)

{

// $request 获取 下方 form 表单内容

switch ($request->get('name')) {

case 1:

$currency = '...';

break;

case 2:

$currency = '...';

break;

}

// 处理错误

try {

// $model 获取提交行信息

$money = Accounts::where('user_id', $model->id)->where('currency', $currency)->get()[0];

if ($request->get('money') <= 0) throw new \Exception("金额不符合");

$money->amount = $money->amount + $request->get('money');

$money->save();

return $this->response()->success('充币成功')->refresh();

} catch (\Exception $e) {

return $this->response()->error('产生错误:' . $e->getMessage());

}

}

// 创建弹出模态框

public function form()

{

// 单选框

$this->select('name', '充币类型')->options([

1 => '...',

2 => '...'

]);

$this->text('money', '金额')->rules('required');

}

}

```

##### 关注微信公众号:

![](http://www.seedblog.cn/uploads/article/2020-10-24/FnMN5YvkeBEJYoEBJg5RENtniqkxMZUKieewqTZt.png)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值