扩展程序未启用

时间:2017-08-31 14:58:16

标签: opencart opencart-3

我正在将Opencart 2.3的扩展迁移到Opencart 3.除了我无法启用扩展外,一切似乎都运行良好。当我进入扩展程序 - >发货状态时,状态不会更改,它会保持禁用状态,但是如果我转到设置,则下拉菜单会显示已选中状态。前端或日志文件中没有任何错误。我试过调试,但一切似乎都很好。任何想法可能是错的?数据库中的设置(extensionName_status)也是1
注意:扩展名很大,如果我在这里发布它会太多。如果您需要特定的代码片段,我将提供它。

2 个答案:

答案 0 :(得分:1)

关于2.3-> 3.0迁移的棘手问题是某些变量名称以微妙的方式发生了变化(如上面的评论中所述)。状态变量可能是您的问题。这里是控制器文件中的Better Together 3.0(左)与2.3(右):

<       $data['total_better_together_status'] = $this->config->get('total_better_together_status');
---
>       $data['better_together_status'] = $this->config->get('better_together_status');

答案 1 :(得分:0)

如果您的OpenCart 3.x模块在模块类别中标记,则:

    if (isset($this->request->post['module_mymodule_status'])) {
        $data['module_mymodule_status'] = $this->request->post['module_mymodule_status'];
    } else {
        $data['module_mymodule_status'] = $this->config->get('module_mymodule_status');
    }

如果它已在Google Analytics类别中标记,那么您只需将module更改为analytics,如下所示:

if (isset($this->request->post['analytics_mymodule_status'])) {
    $data['analytics_mymodule_status'] = $this->request->post['analytics_mymodule_status'];
} else {
    $data['analytics_mymodule_status'] = $this->config->get('analytics_mymodule_status');
}