0

Magentoでいくつかのモジュールを拡張するためのコードを記述している最中です。また、Mage_Adminhtml_Promo_QuoteControllerを拡張するクラスを記述しているときに、URLを使用してクラスのコントローラーアクションをテストするとエラーが発生しましたhttp://127.0.0.1/magenta_demo/index.php/pricebeat_admin/adminhtml_quote/generatecoupon。それは私のローカルホストです

ブラウザに出力されたエラーは次のとおりです。

致命的なエラー:クラス'Mage_Adminhtml_Promo_QuoteController'が/Applications/XAMPP/xamppfiles/htdocs/magenta_demo/app/code/local/Pricebeat/controllers/Adminhtml/QuoteController.phpの3行目に見つかりません

ただし、IDEに移動し、Mage_Adminhtml_Promo_QuoteControllerをクリックして、作成した新しいクラスからそのクラスに移動すると、問題なくそこに移動します。

これがコードです。

class Pricebeat_Adminhtml_QuoteController extends Mage_Adminhtml_Promo_QuoteController
{
        public function generateCouponAction(){
            echo 'Hello world. This is just testing.';
            exit;
        }
}

直接構造に何か問題がない限り、このメッセージを表示し続けるコードに何か問題がありますか?

もう一つ。システムログを確認したところ、出力されたメッセージは次のとおりです。

2012-10-06T12:00:31 + 00:00 ERR(3):警告:include(Mage / Adminhtml / Promo / QuoteController.php)[function.include]:ストリームを開くことができませんでした:/にそのようなファイルまたはディレクトリはありませんApplications / XAMPP / xamppfiles / htdocs / magenta_demo / lib / Varien / Autoload.php on line 95 2012-10-06T12:00:31 + 00:00 ERR(3):警告:include()[function.include]:失敗'Mage / Adminhtml / Promo / QuoteController.php'を開いて含めます(include_path ='/ Applications / XAMPP / xamppfiles / htdocs / magenta_demo / app / code / local:/ Applications / XAMPP / xamppfiles / htdocs / magenta_demo / app / code /コミュニティ:/ Applications / XAMPP / xamppfiles / htdocs / magenta_demo / app / code / core:/ Applications / XAMPP / xamppfiles / htdocs / magenta_demo / lib:。:/ Applications / XAMPP / xamppfiles / lib / php:/ Applications / XAMPP / / Applications / XAMPP / xamppfiles / htdocs / magenta_demo / lib / Varien/Autoloadのxamppfiles/lib / php / pear')。95行目のphp

どんな助けでも大歓迎です。

みんなありがとう

4

1 に答える 1

1

わかりました。問題が見つかりました。ソースを参照するためのリンクは次のとおりです。http://prattski.com/2010/06/24/magento-overriding-core-files-blocks-models-resources-controllers/

イエス....

オーバーライドするコントローラークラスのファイルを明示的に含める必要があります。

于 2012-10-06T12:23:13.043 に答える