0

我最近将我的 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 检查了所有模块,它们都已更新为稳定版本。升级时我错过了什么吗?

谢谢

4

1 回答 1

1

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

您的系统上有一个名为的模块Zenprint_Ordership,其中包括运输承运人类别。它可能是这个扩展的一部分。

此扩展尚未更新为与 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 应用程序一样,电子商务系统需要不断维护。如果您要托管自己的购物车,请确保在遇到此类情况时可以联系到具有专业知识的人来帮助您。

于 2012-05-19T20:02:15.600 回答