ecshop 菜单显示原理
来源:互联网 发布:洗面奶推荐知乎 编辑:程序博客网 时间:2024/05/20 04:30
语言数组
语言数组,显示名 $_LANG['21_promote_user'] = '地推管理'; $_LANG['promote_user_add'] = '地推人员列表'; $_LANG['promote_user_list'] = '增加地推人员'; $_LANG['fq_user_list'] = '发券人列表'; $_LANG['fq_user_add'] = '增加发券人';
ecshop位置是在 languages/zh_cn/admin/conmon.php
菜单数组
$modules['21_promote_user']['promote_user_add'] = 'promote_user.php? act=list'; $modules['21_promote_user']['fq_user_list'] = 'fq_user.php?act=list'; $modules['21_promote_user']['fq_user_add'] = 'fq_user.php?act=add'; 其中 key值是菜单标志 ,两个key说明是菜单一级与二级, value是菜单链接, 菜单中文名字将key对应到语言数组 key也是通过权限数组的value,能查出当前菜单对应的权限
ecshop的位置是在admin/includes/inc_menu.php
权限数组
“`
key值对应权限标志,与权限表(admin_action对应) value 对应菜单数组的key,能查出这个权限对 验证权限必须是admin_priv()函数, 如果只是单纯的将菜单隐藏,并没有admin_priv()去验证,权限相当于没有用上
“`qu
权限表
1、admin_action 权限表 所有权限都在这个表里2、adiin_user 管理员表 有个字段,记录此管理员有多少权限
给管理员加权限
用到的
1、权限表(admin_action)
2、语言数组
3、管理员表(admin_user)
一、总管理员给小管理员加权限二、在一个界面,将权限表遍历出来,对应语言数组显示中文三、勾选权限,增加到管理员表的 权限字段
显示菜单
遍历菜单数组,然后用它的key匹配权限数组 如果在权限数组里能匹配到,判断匹配的权限是否在管理员所拥有的权限里 在就显示菜单,不再说明此菜单对应的权限,当前登录的管理员并没有,不显示如果菜单没有匹配到权限数组,直接显示菜单(ecshop为显示,讲道理为不显示)
ps:
管理员权限:在管理员登陆就存在session里
权限数组:应该与权限数据表统一
显示菜单遍历的只是数组,与数据库无交互,可减少响应时间
ecshop 在菜单没有匹配到权限数组也让菜单显示,可能是因为怕本地权限数组与权限表没统一,导致应该有的菜单权限没有显示出来。
同时没有权限的菜单数组也显示出来,这个没关系,因为对于一些不在菜单栏显示的功能设置的权限,需要再次验证
验证权限
1、代码函数 admin_priv(“promote_user_add”)
2、管理员所拥有的权限(session)
在执行某个功能时,这个功能需要管理员 拥有xx权限才能执行
则在编码时加上admin_priv(‘xx’);
此函数会将当前管理员的权限找出来(session),匹配到xx,代表能执行
比如:
菜单栏 【提现列表】权限,管理员A可以看到
提现列表有个【审核通过】并不显示在菜单栏中,
在执行审核通关过代码之前 admin_priv(“审核通过”);判断管理员A是否有审核通过权限
- ecshop 菜单显示原理
- ECShop后台管理菜单显示、隐藏、修改、增加
- ecshop 添加左侧菜单
- ecshop左侧菜单修改
- ecshop后台添加菜单
- ecshop左侧菜单修改
- ecshop 订单状态改变后 前后台功能菜单的显示
- Ecshop中导航栏中使用二级菜单显示并调用子分类
- ECShop模板原理
- ECShop模板原理
- ecshop session原理
- ecshop购物车原理
- ecshop购物车原理
- ecshop 分页原理
- ecshop 分页原理
- Ecshop购物车原理
- ECSHOP 后台管理 左侧菜单
- ECShop后台管理菜单修改
- java.lang.NoClassDefFoundErr
- centos6.5下安装python2.7,python3.5
- 通过brew安装指定版本的node
- UITableview中cell的复用机制
- 对于ajax为什么可以实现不更新页面的理解
- ecshop 菜单显示原理
- C--自定义调试信息
- 排序算法——插入排序
- TCP/IP协议
- Linux教程(10.10)-备份与压缩命令
- 5.4.1 mark
- mac下npm install -g yarn react-native-cli出错
- UEFI-Fv
- Swift组合数据类型字典数组..