ECShop个人阅读源代码心得之修改后台左侧菜单

为了在后台添加一些新的功能,因此有必要在左侧栏的菜单添加新的菜单项
在用chrome点击查看源代码时,发现地址栏写着localhost/shop8/admin/index.php?act=menu。
估计左侧菜单就是在admin/index.php里的act=menu部分的代码生成的

追踪到这部分的代码,发觉先是进入到了amin/include/inc_menu.php里面
在这里面定义了一个数组modules
这个数组是2维数组,其中每个二维数组定义了相关的链接地址

接下来是进入admin/include/inc_priv.php
在这个文件里也是定义了一个数组,purview
这个数组建立了跟权限有关的映射


接下来在foreach循环里
$menus[$key]['label'] = $_LANG[$key];定义了菜单的显示文字

在循环里,同时用admin_priv函数判断是否拥有指定的权限,如果有,则将$module的相关参数复制给$menu,否则跳过


在admin/includes/lib_main.php中可以找到admin_priv函数

追踪到里面,发现admin_priv函数并没有通过数据库来判断,而是通过session来判断是否拥有相关权限
$_SESSION['action_list']即相关的session

在lib_main.php中搜索$_SESSION['action_list']发现
$_SESSION['action_list']在函数set_admin_session中设置

使用文件搜索的方式,得出set_admin_session在文件admin/privilege.php中被调用

在privilege.php的$_REQUEST['act'] == 'signin'部分调用了该函数

从这部分代码中,可以得到权限是在表admin_user中的字段action_list中被定义的


追踪到这里,可以得知,只要修改
admin/includes/inc_menu.php
admin/includes/inc_priv.php

languages/zh_cn/admin/common.php
languages/en_us/admin/common.php
languages/zh_tw/admin/common.php

即可给左边菜单栏添加一项。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值