源代码修改错,导致ecshop后台管理员权限显示空白
2017-07-12 18:02
267 查看
经过上一篇安装好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);
这样就行了。
后来经我问了群里的朋友,都说{$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);
这样就行了。
相关文章推荐
- 源代码修改错,导致ecshop后台管理员权限显示空白
- ECSHOP忘记管理员密码忘记了 的情况下重新修改后台密码方法:
- 修改ECSHOP后台的商品列表里显示该商品品牌
- ecshop后台显示每页条数的修改
- ecshop后台管理员登陆显示商品列表价格不同
- 黄聪:wordpress后台,修改数据表前缀之后显示“您没有足够的权限访问这个页面”的解决方法
- ECShop后台管理菜单显示、隐藏、修改、增加
- ECShop后台管理菜单显示、隐藏、修改、增加
- 教你如何修改ecshop2.7.3管理员后台登录地址加固网站安全
- ECShop个人阅读源代码心得之修改后台左侧菜单
- ecshop后台商品列表和添加修改选择供货商处只显示自己管理的
- ecshop后台商品列表和添加修改选择供货商处只显示自己管理的
- ECShop后台修改站内快讯数量及首页精品推荐等显示个数设置
- VS2008空白显示点的修改办法
- iis权限导致worldclient邮件显示问题
- 如果注册表被病毒修改导致隐藏的文件和文件夹不能显示~
- Ecshop修改后台地址 路径.
- ECShop后台管理菜单修改
- 彻底弄清楚rrdtool乱码根本原因,可以不用修改rrdtool源代码显示中文了
- DEDECMS后台频道管理员权限三级子栏目权限添加分配问题解决