ecshop教程

ECSHOP二次开发后台添加管理员列表控制权限功能

我的站长站 2020-06-03 人阅读

一、添加菜单项

打开 /admin/includes/inc_menu.php文件(后台框架左边菜单),在最后添加一行如下:

1$modules['17_other_menu']['sns_list'] = 'sns_list.php?act=list';

ecshop默认一级菜单项有16项,所里这里的例子从17开始。当然这个key可以随便取的,index.php文件中对菜单用了ksort排序。“17_other_menu” 表示一级菜单,“sns_list”表示二级菜单。等号后面的值表示该菜单栏目打开的页面链接。

二、配置菜单语言

打开 /languages/zh_cn/admin/common.php文件,添加语言

$_LANG['17_other_menu'] = '其它设置';
$_LANG['sns_list'] = 'SNS管理';

这时候,用管理员身份(admin用户)登录后台,便可看到新添加的菜单项了。因为admin的权限是“all”。如果后台有多个管理员,比如ecshop商城的供货商们,或者其它管理人员(由admin创建的其它可登陆后台的账户),如果想让他们也拥有新添加菜单的查看权利,则必须为他们分配该栏目的管理权限。

三、把新菜单加入权限列表

打开 /languages/zh_cn/admin/priv_action.php文件,在“权限管理的一级分组”注释行下面添加如下代码

1$_LANG['other_manager'] = '其它设置';

这里的“other_manager”是该一级栏目的权限名称,这里和栏目名称“17_other_menu”保持一致,也可以随便取个名。这里以示区别,就没有和菜单名一样。
然后,添加二级栏目“sns_list”的权限名称。在本文件的最后添加即可

//其它管理
$_LANG['sns_list'] = 'SNS管理';

这里这个权限名称和二级菜单名是一致的。这两项现在在哪里呢?如下图
四、把一级菜单和二级菜单的权限关联起来
Ecshop:后台添加新栏目打开数据库,看到{pre}_admin_action表,新增两行数据。如下图
截图中第1列数据是action_id,是该表的自增主键。第2列数据是parent_id,来自上级的action_id。第3列数据就是step3中定义的权限名(键)。这样的话,两种权限就联系起来了。到这里,打开后台“管理员列表”,点击“分派权限”的图标,便可以看到step3所示权限了。用某后台用户勾选提交,该用户登陆后就能看到新增的菜单项了。

ECSHOP二次开发后台添加管理员列表控制权限功能

mysql语句

INSERT INTO .`admin_action` (  `action_id` ,  `parent_id` ,  `action_code` ,  `relevance`  )  VALUES (  NULL , '6', 'shipment_view', ''  );


相关推荐
最新更新