通过修改源码实现laravel-admin添加、编辑按钮支持携带参数,解决一些特殊功能需求,并且不影响之前添加和编辑程序运行。
打开vendor\encore\laravel-admin\src\Gird.php
//public $tableID下增加变量 public $queryString="";
修改方法 getCreateUrl()
public function getCreateUrl() { $queryString = ''; if ($constraints = $this->model()->getConstraints()) { $queryString = http_build_query($constraints); } return sprintf( '%s/create%s', $this->resource(), $queryString ? ('?'.$queryString) : '' ); }
改为
public function getCreateUrl() { $queryString = $this->queryString; if ($constraints = $this->model()->getConstraints()) { $queryString = http_build_query($constraints); } return sprintf( '%s/create%s', $this->resource(), $queryString ? ('?'.$queryString) : '' ); }
表格调用
$grid->queryString='village=10&id=1';
表格方法修改
use App\Admin\Actions\Tag\edit; $grid->actions(function ($actions) { $actions->disableedit(); $actions->add(new edit); });
app\Admin\Actions\Tag 文件夹下新增edit.php
<?php namespace App\Admin\Actions\Tag; use Encore\Admin\Actions\RowAction; class edit extends RowAction { public $name = '更改'; /** * @return string */ public function href() { $tag_type=request('tag_type'); return "{$this->getResource()}/{$this->getKey()}/edit?type=".$tag_type[0]; } }
到此这篇关于laravel-admin 添加、编辑按钮支持携带参数的文章就介绍到这了,更多相关laravel-admin携带参数内容请搜索插件窝以前的文章或继续浏览下面的相关文章希望大家以后多多支持插件窝!