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

Mage_Usa_Model_Shipping_Carrier_AbstractMagentoの1.6.xブランチは、すべての子クラスが実装する必要のある抽象メソッドの追加を含め 、動作を再ファクタリングしました。

システムに名前が付けられたモジュールがありZenprint_Ordership、これには配送業者クラスが含まれています。これはおそらくこの拡張機能の一部です。

この拡張機能は、Magento1.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開発者がMagento1.2以降モジュールを更新していないように見えるため、システムで動作するようにモジュールを再コーディングします。

  2. Zenprint_Ordershipを使用していた機能の代替手段を見つけてください。

また、拡張機能を無効にした後でも、この配送方法を使用した古い注文を表示すると問題が発生する可能性があります。クラスで空白のメソッドを定義することで_doShipmentRequestこれを回避するのに役立つかもしれませんが、プログラマー以外の人にそれをお勧めするかどうかはわかりません。

高レベルのソリューション?eコマースシステムは、他の複雑なWebアプリケーションと同様に、定期的なメンテナンスが必要です。自分のカートをホストしている場合は、このような状況に遭遇したときに役立つ専門知識を持つ人々にアクセスできることを確認してください。

于 2012-05-19T20:02:15.600 に答える