laravel-admin使添加、编辑按钮支持附带参数

laravel-admin通过修改源码支持添加、编辑按钮附带参数

       本篇博客教大家如何通过修改laravel-admin源码,使添加、编辑按钮支持附带参数,从而支持我们一些特殊业务。(对于高级版本的laravel-admin编辑方法不支持)

       一、自定义添加方法

       我们修改vendor\encore\laravel-admin\src下的Grid.php文件,新增以下方法

public $AddUrltoCreate;
//专为URL传参使用,将URL参数带到create按钮页面
public function AddUrltoCreate($AddUrltoCreate)
{
    $this->AddUrltoCreate = $AddUrltoCreate;
}

      然后修改vendor\encore\laravel-admin\src\Grid\Tools下的CreateButton.php文件,重新定义按钮跳转方法:

grid->resource()}/create{$this->grid->AddUrltoCreate}" 
class="btn btn-sm btn-success" 
_href="{$this->grid->resource()}/create{$this->grid->AddUrltoCreate}">{$new}

      调用方法

$grid->AddUrltoCreate('?test=1');

      二、自定义编辑方法

      我们修改vendor\encore\laravel-admin\src\Grid\Displayers下的Actions.php文件,新增以下方法

//专为URL传参使用,将URL参数带到edit编辑按钮
public $editurldetail = '';

public function AddUrltoEdit($editurldetail)
{
    $this->editurldetail = $editurldetail;
}

修改editAction()方法,如下

protected function editAction(){
    return <<getKey()}/edit{$this->editurldetail}" _href="{$this->getResource()}/{$this->getKey()}/edit{$this->editurldetail}">
    EOT;
}

      调用方法

$grid->actions(function ($actions){
     $actions->AddUrltoEdit('?test=1');
});

      这样我们就可以在添加、编辑按钮上附带参数,方便我们在某些场景下使用。

0条评论

发表评论