提醒
插件适用于v1版,v2版需要把编辑管理员edit()方法里面的manystore_pid改为shop_id。
功能介绍
基于多商家管理的额外补充,用于控制多商家超级管理员的权限,目前本插件只允许添加二级权限。
插件下载方法
GitHua:https://github.com/senson2018/super_control.git
百度链接:https://pan.baidu.com/s/1BPSb--0YEhn-gcq-lvR1Lw
百度提取码:14fr
使用方法
(必须安装多商家管理插件,请自行到插件市场搜索【多商家管理】),离线安装本插件,安装完毕后,默认已存在一个超级权限
首次安装多商家管理插件,记得首先给商家生成菜单,否则本插件设置权限的时候会是空白
数据库会新增加两个表
一个是manystoreextend_auth_groupx超级管理员权限表,一个是manystoreextend_auth_groupx_lead表与多商家超级管理员绑定的关联表
接着,使用在线命令行或其他方法生成manystoreextend_auth_groupx表和manystoreextend_auth_groupx_lead表的控制器和模型。
然后,复制以下前端代码到多商家管家的add.html
<div class="form-group"> <label class="control-label col-xs-12 col-sm-2">{:__('ManystoreAuthGroupxId')}:</label> <div class="col-xs-12 col-sm-8"> <input id="c-manystore-auth-groupx-id" class="form-control selectpage" name="row[manystore_auth_groupx_id]" data-source="manystoreextend/auth_groupx/index" value="1"> </div> </div>
效果
复制以下前端代码到多商家管家的edit.html
<div class="form-group"> <label class="control-label col-xs-12 col-sm-2">{:__('ManystoreAuthGroupxId')}:</label> <div class="col-xs-12 col-sm-8"> <input id="c-manystore-auth-groupx-id" class="form-control selectpage" name="row[manystore_auth_groupx_id]" data-source="manystoreextend/auth_groupx/index" value="{$manystore_auth_groupx_id}"> </div> </div>
效果
接着,修改manystore/index.php 里面的add方法,判断插入的数据是否是数据库字段
然后,加入以下代码绑定超级管理员与权限,并查找已选择的权限
AuthGroupxLead::create([ 'manystore_id'=> $this->model->id, 'manystore_auth_groupx_id' => $params['manystore_auth_groupx_id']]);$ag = AuthGroupx::where(['id'=> $params['manystore_auth_groupx_id']])->field('rules')->find();
效果
接着,修改manystore/index.php 里面的edit方法,判断插入的数据是否是数据库字段
然后,在manystore/index.php 里面的edit方法加入以下代码,注意模型的正确引入
$magl = AuthGroupxLead::where(['manystore_id'=> $ids])->find(); if(!$magl) { AuthGroupxLead::create([ 'manystore_id'=> $ids, 'manystore_auth_groupx_id' => $params['manystore_auth_groupx_id'] ]); } $magl->manystore_auth_groupx_id = $params['manystore_auth_groupx_id']; $magl->save(); $ag = AuthGroupx::where(['id'=> $params['manystore_auth_groupx_id']])->field('rules')->find(); $agList = explode(',', $ag['rules']); $mag = new ManystoreAuthGroup(); $magList = collection($mag->where(['manystore_pid' => $ids])->field('id,pid,rules')->select())->toArray(); foreach ($magList as &$magListV) { if($magListV['rules'] == '*') { $magListV['rules'] = $ag['rules']; continue; }else if($magListV['pid'] == 0){ $magListV['rules'] = $ag['rules']; continue; } $magListV['rules'] = explode(',', $magListV['rules']); $ain = array_intersect($agList, $magListV['rules']); if($ain) { $magListV['rules'] = implode(',', $ain); }else { $magListV['rules'] = '0'; } } $mag->isUpdate(false)->saveAll($magList);
效果
然后,在这个edit方法的最后return $this->view->fetch();的前面加入以下代码
$magl = AuthGroupxLead::where(['manystore_id'=> $ids])->find(); $this->assign('manystore_auth_groupx_id', $magl?$magl['manystore_auth_groupx_id']:1);
效果
如需卸载,请进入插件管理,点击本地插件进行卸载
结尾
修改超级管理员权限后,会连带修改超级管理员权限下面的其他人员的权限。
希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 iCMS, Fastadmin, ClassCMS, LeCMS, PbootCMS, PHPCMS, 易优CMS, YzmCMS, 讯睿CMS, 极致CMS, Wordpress, HkCMS, YznCMS, WellCMS, ThinkCMF, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。