每次我安装新扩展程序时,都会收到此错误:
错误:您无权访问此页面,请咨询您的系统管理员。
我已经去过System>用户组和添加新扩展模块的权限(访问权限和修改权限)但没有运气。
我尝试安装“2checkout”“Ajax Quick CheckOut”“并得到同样的错误。
答案 0 :(得分:6)
您很可能正在尝试安装与OpenCart 2.3.0.2不兼容的扩展程序。 OpenCart 2.3.X引入了一些与扩展结构相关的更改,因此您必须先进行这些更改
路径更改:
现在,所有扩展类型都已在名为extension
的新目录下移动。
例如,如果您有付款延期,则其旧结构如下所示:
admin/controller/payment/xxx.php
admin/model/payment/xxx.php
admin/language/en-gb/payment/xxx.php
admin/view/template/payment/xxx.php
现在您必须将其更改为:
admin/controller/extension/payment/xxx.php
admin/model/extension/payment/xxx.php
admin/language/en-gb/extension/payment/xxx.php
admin/view/template/extension/payment/xxx.php
模块加载路径和网址更改:
在加载模块时,必须在路径中包含extension
。即$this->load->model('module/:')
现在变为$this->load->model('extension/module/mymod')
。
对于管理员URL链接也是如此。 $this->url->link('payment/mymod', 'token=' . $this->session->data['token'], 'SSL')
现在变为$this->url->link('extension/payment/mymod', 'token=' . $this->session->data['token'], 'SSL')
。
班级名称更改:
下一个更改与类名相关。名为ControllerModuleMyMod
的类应重命名为ControllerExtensionModuleMyMod
。
这些更改适用于admin
和catalog
。
相关主题:
答案 1 :(得分:0)
可能需要更改模块中管理控制器的validate()例程:
if (!$this->user->hasPermission('modify', 'module/oldmodule')) {
}
为:
if (!$this->user->hasPermission('modify', 'extension/module/oldmodule')) {
}
答案 2 :(得分:0)
转到管理员 - 系统 - 用户 - 用户组 编辑管理员并选择全部然后保存。 问题将得到解决。