最近因为项目原因,在接触fastadmin,真的是太难了!!!找了好多资料才解决的,记录一下遇到的第一个难点。
要自定义一个操作按钮,修改一个字段内容,效果如下:
第一步:修改界面,添加按钮
打开文件:public/assets/js/backend/question.js,添加几句代码
-
配置点击按钮之后的弹窗页面。
handover_url: 'question/handover',
-
添加界面按钮
buttons: [
{name: 'handover', text: '移交', title: '移交', classname: 'btn btn-xs btn-primary btn-dialog', url: 'question/handover'}
]}
-
添加绑定事件,方法名与name一致。
handover: function () {
Controller.api.bindevent();
},
url是指admin/view/question里面的html,需要在admin/view/question里面新建一个html,文件名跟url一致,因为这个按钮是修改一个字段,所以可以直接复制粘贴edit.html的代码然后进行修改。
第二步:添加控制逻辑
打开admin/controller/question.php,添加方法,方法名跟上图中的name一致。
public function handover($ids = null){
$row = $this->model->get(['id' => $ids]);
if(!$row){
$this->error(_('找不到!'));
}
if ($this->request->isAjax()) {
$params = $this->request->post("row/a");
if($params){
$data = [
'admin_id' => $params['admin_id']
];
$this->model->where('id', $ids)->update($data);
$this->success();
}
}
$this->view->assign("row", $row);
return $this->view->fetch();
}
第三步:添加方法逻辑
打开admin/library/traits/Backend.php,因为是编辑操作,所以直接复制粘贴edit,改方法名,与上文一致。
以上就是添加操作按钮的所有步骤,亲测有效!!!