500-errorカスタムオプションファイルをダウンロードしようとしている場合
-
16-10-2019 - |
質問
カスタムオプションファイルを追加して、クライアントが製品に写真やファイルを追加することができます。ここにすべて完璧です。
ファイルを取得しようとすると、これは問題になり、次のように500エラーが発生します。
[Mon Feb 06 10:52:33 2012] [error] [client x.x.x.x] PHP Fatal error: Undefined class constant ‘OPTION_PREFIX’ in /var/www/vhosts/domain.com/httpdocs/app/code/core/Mage/Sales/controllers/DownloadController.php on line 160, referer: https://www.domain.com/index.php/admin/sales_order/view/order_id/15/key/3f88d86de2532ab233077d978054dfe2/
誰かが以前にこのようなものを持っていましたか?
解決
定数 OPTION_PREFIX
で宣言されています Mage_Catalog_Model_Product_Type_Abstract
CE 1.7以降のクラス。で検索の結果に基づいています ack OPTION_PREFIX
CLIでは、この用語は存在しませんし、Magentoの古いバージョンで参照されていません。
インストールが古いバージョンのMagentoを実行していて、CE 1.7にアップグレードされたと推測するのは正しいでしょうか?
私の提案は、定数がで見つかったクラス宣言で定義されていることを確認することです app/code/core/Mage/Catalog/Model/Product/Type/Abstract.php
. 。と仮定して、私は、Magentoの古いバージョンのクラスのコピーでコアクラス宣言をオーバーライドするローカルコードプールのファイルなど、コアファイルをオーバーライドしているそのクラスのコピーを探しに行きます。
他のヒント
あなたのコメントや他のメンバーによる上記の投稿から私はそれを言うでしょう
Magentoバージョンをアップグレードしたか、追加したモジュールはCE 1.7と互換性があるため、最初にMagentoバージョンがアップグレードされたかどうかを確認する必要があります。
あなたがチェックしなければならない二番目のことはあなたの
Mage_Catalog_Model_Product_Type_Abstract
このコピーはローカル/メイジ/フォルダーにもありますか。ケース2が存在する場合は、Magentoコードによってローカル/メイジフォルダーが考慮され、これが貴重なバージョンからのコピーであると考慮されます。また、すべてのクラスファイルが配置されているこのクラスコードのコピーをコンパイラがチェックするように設定された場合
/includes/src
.
それを確認してください Mage_Catalog_Model_Product_Type_Abstract
1.7からのクラスコードがあります。
また、ローカルフォルダーにメイジフォルダーがある場合(一部の開発者は拡張するのではなく上書きするだけです)、顧客モジュールを作成し、Magento Coreクラスモジュールを拡張することです。