我正在扩展 opencart,并且正在为目录构建一个自定义控制器,用于通过 CSV 上传产品。当我尝试查看 catalog/upload 时出现此错误You do not have permission to access this page, please refer to your system administrator.
。
我想我需要更改数据库中的权限,并找到了一个这样做的函数
$this->model_user_user_group->addPermission($this->user->getId(), 'access', 'catalog/upload');
$this->model_user_user_group->addPermission($this->user->getId(), 'modify', 'catalog/upload');
我把它放在一个模块中,其唯一目的是在安装时添加这些权限
<?php
class ControllerModuleInstl extends Controller {
public function install() {
$this->load->model('user/user_group');
$this->model_user_user_group->addPermission($this->user->getId(), 'access', 'catalog/upload');
$this->model_user_user_group->addPermission($this->user->getId(), 'modify', 'catalog/upload');
if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
$this->model_setting_setting->editSetting('instl', $this->request->post);
$this->session->data['success'] = $this->language->get('text_success');
$this->redirect($this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL'));
}
}
}
?>
我点击安装,我收到一条成功消息(但是没有页面重定向),当我检查数据库时,权限没有改变。
我发现这很难调试,因为通常调试时我会使用 echo 等,但显然你不能用这种大小的应用程序做这种事情(我通常只写小脚本),调试 opencart 的最佳方法是什么,一步一步来,还有谁能告诉我为什么我的权限没有被改变?
谢谢!