【问题标题】:1 abstract method and must therefore be declared abstract or implement the remaining methods1 个抽象方法,因此必须声明为抽象方法或实现其余方法
【发布时间】:2012-05-19 09:17:21
【问题描述】:

我最近将我的 magento 商店从 1.5.1 升级到了 1.7.0 版本。大多数事情都按应有的方式工作,但是当我通过管理区域进入运输方式选项时,出现以下错误。

Fatal error: Class Zenprint_Ordership_Model_Shipping_Carrier_Ups contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Mage_Usa_Model_Shipping_Carrier_Abstract::_doShipmentRequest) in /home/dev/public_html/app/code/community/Zenprint/Ordership/Model/Shipping/Carrier/Ups.php on line 33

在 Ups.php 的第 33 行,这是代码。

extends Mage_Usa_Model_Shipping_Carrier_Abstract

我通过 Magento Connect 检查了所有模块,它们都已更新为稳定版本。升级时有什么遗漏的吗?

谢谢

【问题讨论】:

  • 扩展开发者对您的支持请求说了什么?

标签: php magento shipping


【解决方案1】:

Magento 的 1.6.x 分支重构了 Mage_Usa_Model_Shipping_Carrier_Abstract 的工作方式,其中包括添加一个所有子类都必须实现的抽象方法。

您的系统上有一个名为 Zenprint_Ordership 的模块,其中包括一个运输承运商类。它可能是this extension 的一部分。

此扩展尚未更新为可与 Magento 1.6+ 一起使用。要让您的商店再次运行,您应该通过重命名/删除文件来禁用此扩展

#rename so it doesn't have a xml extension to disable
app/etc/modules/Zenprint_Ordership.xml

app/etc/modules/Zenprint_Ordership.xml.disable

这将删除您使用Zenprint_Ordership 的任何自定义功能,但应该使您的系统恢复正常工作。

从长远来看,你要么需要

  1. 重新编码 Zenprint_Ordership 模块以与您的系统一起使用,因为从 Magento 1.2 以来开发人员似乎没有更新它。

  2. 为您使用 Zenprint_Ordership 的任何功能寻找替代方案。

此外,即使在禁用扩展程序后,您在查看使用这种运输方式的旧订单时也可能会遇到问题。如果你觉得它在类上定义一个空白的_doShipmentRequest 方法可能会帮助你解决这个问题,但我不确定我是否会将它推荐给非程序员。

高级解决方案?与任何复杂的 Web 应用程序一样,电子商务系统需要不断维护。如果您要托管自己的购物车,请确保在遇到此类情况时可以联系到具有专业知识的人来帮助您。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-09
    • 1970-01-01
    • 1970-01-01
    • 2021-08-02
    • 1970-01-01
    • 2016-07-05
    • 1970-01-01
    相关资源
    最近更新 更多