源代码修改错,导致ecshop后台管理员权限显示空白

经过上一篇安装好ecshop后,在后台闲逛时,又发现一个异常,在导航栏上点击设置导航栏,然后点击管理员列表,随便选一个管理员点分派权限,你会发现权限名称全部没有,后来在admin\templates\privilege_allot.htm中找到{$lang[$priv.action_code]}改成{$lang.$priv.action_code},还有{$lang[$list.action_code]}改成{$lang.$list.action_code},搞定


后来经我问了群里的朋友,都说{$lang[$priv.action_code]}这样的语法是正确的,那就奇怪了,我就重新再安装了ecshop,发现权限名都有显示,那看来是我把源代码修改坏了。

经过我不断的调试,我终于发现了在includes\cls_templates.php里面的555行附近

原来是

$val = preg_replace("/\[([^\[\]]*)\]/eis", "'.'.str_replace('$','\$','\\1')", $val);

一开始我是这样修改

$val=preg_replace_callback("/\[([^\[\]]*)\]/is", function($r) { return '.'.str_replace('$','\$',$r[1]); }, $val);


最后经过调试得修改成这样

$val=preg_replace_callback("/\[([^\[\]]*)\]/is", function($r) { return '.'.$r[1]; }, $val);


这样就行了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值