时间:2022-07-05 22:15:02 | 来源:建站知识
时间:2022-07-05 22:15:02 来源:建站知识
最近几天看ecshop的源码,学到不少东西。这篇日记记录下后台添加新栏目(菜单项)的步骤,以备后用。
step1 添加菜单项
打开 /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”表示二级菜单。等号后面的值表示该菜单栏目打开的页面链接。
step2 配置菜单语言
打开 /languages/zh_cn/admin/common.php文件,添加语言
1$_LANG['17_other_menu'] = '其它设置';
2$_LANG['sns_list'] = 'SNS管理';
这时候,用管理员身份(admin用户)登录后台,便可看到新添加的菜单项了。因为admin的权限是“all”。如果后台有多个管理员,比如ecshop商城的供货商们,或者其它管理人员(由admin创建的其它可登陆后台的账户),如果想让他们也拥有新添加菜单的查看权利,则必须为他们分配该栏目的管理权限。
step3 把新菜单加入权限列表
打开 /languages/zh_cn/admin/priv_action.php文件,在“权限管理的一级分组”注释行下面添加如下代码
1$_LANG['other_manager'] = '其它设置';
这里的“other_manager”是该一级栏目的权限名称,这里和栏目名称“17_other_menu”保持一致,也可以随便取个名。这里以示区别,就没有和菜单名一样。
然后,添加二级栏目“sns_list”的权限名称。在本文件的最后添加即可
1//其它管理
2$_LANG['sns_list'] = 'SNS管理';
这里这个权限名称和二级菜单名是一致的。这两项现在在哪里呢?如下图
step4 把一级菜单和二级菜单的权限关联起来
打开数据库,看到{pre}_admin_action表,新增两行数据。如下图
截图中第1列数据是action_id,是该表的自增主键。第2列数据是parent_id,来自上级的action_id。第3列数据就是step3中定义的权限名(键)。这样的话,两种权限就联系起来了。到这里,打开后台“管理员列表”,点击“分派权限”的图标,便可以看到step3示图所示权限了。用某后台用户勾选提交,该用户登陆后就能看到新增的菜单项了。
写个文章不容易,转载请给作者个回馈:
关键词:后台