通过修改源码实现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携带参数内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论