【问题标题】:opencart 2.0.3.1 to 2.3.0.2 erroropencart 2.0.3.1 到 2.3.0.2 错误
【发布时间】:2016-11-09 13:19:01
【问题描述】:

升级后出现此错误。谁能帮帮我。

致命错误:未捕获的异常“异常”和消息“错误:可能 不加载模型总数!在 C:\xampp\htdocs\deleteme\system\engine\loader.php:169 堆栈跟踪:#0 【内部函数】:Loader->{closure}(Array, Array) #1 C:\xampp\htdocs\deleteme\system\engine\proxy.php(25): call_user_func_array(Object(Closure), Array) #2 C:\xampp\htdocs\deleteme\catalog\controller\common\cart.php(37): 代理->__call('getTotal', Array) #3 C:\xampp\htdocs\deleteme\catalog\controller\common\cart.php(37): Proxy->getTotal(Array) #4【内部函数】: ControllerCommonCart->index(Array) #5 C:\xampp\htdocs\deleteme\system\engine\action.php(51): call_user_func_array(Array, Array) #6 C:\xampp\htdocs\deleteme\system\engine\loader.php(24): 动作->执行(对象(注册表),数组)#7 C:\xampp\htdocs\deleteme\catalog\controller\common\header.php(129): Loader->controller('common/cart') #8【内部函数】: ControllerCommonHeader->index(Array) #9 C:\xampp\htdocs\deleteme\system\engine\action.php(51): call_user_func_array(Array, Array) #10 C:\xampp\ in C:\xampp\htdocs\deleteme\system\engine\loader.php 在第 169 行

【问题讨论】:

    标签: php opencart2.x opencart2.3


    【解决方案1】:

    升级问题是在他们的论坛here 中报告的错误和解决方案。

    摘要(为后代复制/粘贴):

    BUG:错误:无法加载模型总数!

    两部分错误。第一部分:事件兼容性切断了太多的部分 尝试加载旧扩展格式时的路线。前任。 “extension/total/sub_total/getTotal”路线变成 “total/sub_total”而不是“total/sub_total/getTotal”。这引起 它尝试加载没有名称的模型并引发异常。部分 二,这种兼容性在路由时加载良好 “extension/total/subtotal”,但也在路线加载时加载 “扩展/总计/sub_total/getTotal”。我觉得这个事件不应该 为兼容性触发,因为它是一个 getTotal 是一个函数 调用,而不是模型加载。这会导致验证失败并尝试 加载缺少其他位并抛出的 2.2.x 版本 不同的错误。还没弄清楚为什么函数调用会发生 沿着事件路径。但基本上是向后支持的尝试 与 2.2 模组的兼容性会导致问题。

    2 个解决方案

    FIX 1:放弃 2.2.x 兼容性并删除以下内容 剩余文件夹:

         catalog/model/total
         catalog/model/payment
         catalog/controller/payment
         catalog/model/shipping
         catalog/controller/module
         admin/controller/total
         admin/controller/payment
         admin/controller/shipping
         admin/controller/module
    

    FIX 2:添加一个 hack 以在函数调用时绕过事件 “getTotal”、“getMethod”或“getQuote”被传入。这是 实验性但至少应该恢复对 2.2.x 模组的支持 现在。这不是永久修复。只是一个解决方法。 编辑:目录/控制器/事件/compatibility.php 查找:

    'model/' . $route. '.php'
    

    替换为:

    'model/' . ((strpos($route,'get') !== false) ? dirname($route) : $route) . '.php'
    

    这应该让“extension/total/sub_total”之类的路由工作但阻塞 在目录上失败的“extension/total/sub_total/getTotal”调用 检查。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多