2011-08-16 2 views
1

私はMagentoのものにはかなり初心者ですし、今私は一つのことにロックされています。私は、Magentoののイベントモデルを理解しようとしてきたと私は、この行を見つけた:Magentoイベントモデルの質問

Mage::dispatchEvent('payment_method_is_active', array(
     'result'   => $checkResult, 
     'method_instance' => $this, 
     'quote'   => $quote, 
    )); 

は今、私はは、dispatchEventは名前「payment_method_is_active」でイベントを呼び出すことを理解し、問題は、私はこれを見つけることができないですイベントはどこにもありません。私はそれがMage-> Payment-> Model-> Method->にあるべきだと思ったが、今までそれを見つけることはできない。

私にこれを教えてもらえますか?

答えて

1

このイベントを表すクラスまたはメソッドは見つかりません。このイベントを監視するモジュールconfig.xmlと、このイベントが発生するたびに呼び出されるメソッドを定義することができます。 Magento Event Observerの詳細については、 http://codemagento.com/2011/04/observers-and-dispatching-events/をご覧ください。

+0

おかげであなたのanwerのためのおかげで、問題は私が支払い方法を実装し、私は支払方法がチェックアウトページで見ることができないコードのこの部分に行ってきたコードをハッキングしているということです。しかし、私は、顧客が支払方法として見ることができる「はい」というオプションで言いました。正直言って、私はこれのためにちょっと迷惑をかける。 私にこれを手渡すことができれば、本当に緊急であり、私が探していても答えは見つからないでください。 よろしく、あなたがここにいくつかのexmapleコードをダウンロードすることができます – katmel98

+0

メルビン:[http://examples.oreilly.de/german_examples/magentopaiger/](http://examples.oreilly.de/german_examples/magentopaiger/)。モジュールWebkochshop_Paymentは簡単な支払いモジュールです。お役に立てれば。 Web上で他のチュートリアルを見つけることもできます。例えば。 [ここ](https://colourgray.wordpress.com/2009/11/11/magento-create-a-custom-payment-method/)または[ここ](http://inchoo.net/ecommerce/magento/作成方法 - magento-payment-module /)を参照してください。 – Simon

3

実は、あなたが置かれているコードは、他のモジュールがそれにを聞くことができるように、それをディスパッチイベントが、を呼び出していないです。
このイベントはセールスモジュールによって聞かれます。<events><adminhtml>の中の)タグの中のapp/code/core/Mage/Sales/etc/config.xmlを開いて確認できます。参照:

 <payment_method_is_active> 
      <observers> 
       <sales_billing_agreement> 
        <class>sales/observer</class> 
        <method>restrictAdminBillingAgreementUsage</method> 
       </sales_billing_agreement> 
      </observers> 
     </payment_method_is_active> 

あなたが最初のタグがイベント(payment_method_is_active)の名​​前と一致していることを見ることができます。
sales_billing_agreementは、観測を識別するための単なる名前です。
<class>sales/observer</class>は、メソッドを含むファイルがMage_Sales_Model_Observerであることを示します。
<method>restrictAdminBillingAgreementUsage</method>は、イベントが送出されて動作するときに何らかのアクションをとるこのファイルのメソッドの名前です。
この方法を見てみたが、あなたはそれが一つのパラメータ、$observerを取ることがわかりますし、そのthroufhあなたがイベントに設定されたデータ、すなわちにアクセスすることができ$observerこと:アクセスに'result' - >$methodInstance = $observer->getEvent()->getMethodInstance();

願って助けを