2011-11-15 11 views
7

私はMagentoイベントのディスパッチがかなりイライラしていることを知っています。私はそのフラストレーションの多くが、いつものように、ドキュメンテーションの欠如にまで及ぶと考えています。注文が正常に完了したときにMagentoイベントが常に送出されますか?

訪問者がサイトを通過する際に、さまざまな段階で自分のコードが起動されるようにしたいと思います。そこで、私はMage :: dispatchEventにデバッグをいくつか入れました。そして、各ステージでどのイベントが発生しているかを知るためにサイトを歩きました。たくさんあります!私が興味を持って

2箇所は以下のとおりです。

  • 訪問者は、請求先住所を選択し、チェックアウトプロセスの次の段階に移っていました。ユーザーが正常に請求先住所1について順

を置く

  • 、関連する見て、私は解雇されて見たイベントは次のとおりです。

    controller_action_predispatch_checkout_onepage_saveBilling 
    controller_action_postdispatch_checkout_onepage_saveBilling 
    

    「前」と「実際に「checkout_onepage_saveBilling」イベントがあることを私に示唆しましたが、そうではありませんので、私の最初の質問はなぜ「前」と「投稿」ですか?

    成功した順序については、よく見るイベントは次のとおりです。

    checkout_onepage_controller_success_action 
    checkout_multishipping_controller_success_action 
    

    私の2番目の質問は、これらのイベントは、すべての支払方法のために解雇されるだろうか?たとえば、Google CheckoutやPayPal(標準リダイレクト)を使用している場合、イベントはいつ行われますか? PayPalからサイトに戻るときは?もしそうなら、それはユーザーが支払いを完了した後に何も返されないかどうか疑問に思うでしょう。

    ありがとうございました。

  • +0

    こんにちは。これは答えられましたか?あなたが以下の答えの一つを受け入れるために私たちが提供できるものは他にありますか? – Morgon

    答えて

    6

    アクションが呼び出される前にプレディスパッチイベントが発生すると、アクションの完了後にpostdispatchイベントが発生します。したがって、アクションの結果が何であるかを知る必要がある場合は、postdispatchイベントを使用する必要があります。

    正常に受注するには、checkout_submit_all_afterイベントをチェックアウトします。

    あなたがそれを見たことがないなら、https://www.nicksays.co.uk/magento-events-cheat-sheet-1-9/はMagentoイベントの便利なリファレンスです。

    13

    悲しいことに、私はcheckout_submit_all_afterがPaypal Expressの発注に対して発火しないことに気付きました。

    これを追加するためにPaypalモデルを変更するのは短期間ですが(実際にはイベントにフックして、まだチェックしていません)、私はcheckout_onepage_controller_success_actionが本当にすべてのタイプ注文の

    +0

    こんにちは、これまでにPaypal Expressで問題を解決しましたか? –

    関連する問題