2012-06-26 5 views
7

Magentoチェックアウトプロセス全体をバイパスして、カートの詳細をXML-RPC経由でサードパーティのフルフィルメント会社に送信するMagentoモジュールを組み込みました。Magentoの 'Checkout'イベントに進む?

どこにいなくても速くはないし、少しのガイダンスを使うことができます。私が理解することは、チェックアウトに進むことによってトリガされたイベントに基づいてオブザーバでモジュールを作成する必要があるということです。問題は、私はどのイベントが起こっているのか、私はここで大規模なリスト全体を見てきました。私が試した

http://www.nicksays.co.uk/magento_events_cheat_sheet/

checkout_submit_all_after - 火災注文が正常に処理された後

checkout_cart_add_product_complete - 製品がカートに追加された後、火災

checkout_cart_save_before - 製品がカートに追加された後、火災

checkout_type_onepage_save_order - これがすべてで発射することができません

checkout_onepage_controller_success_action - 注文処理後に発生します。

これは、私がカスタムイベントを作成する必要があるかどうか、または私がやっていることとはまったく異なる、はるかに優れた選択肢があるかどうかはわかりません。 XMLを構築して送信すると、私は別の質問に移ります(ここで私の手はかなり充実しているかもしれませんが)。

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

答えて

20

controller_action_predispatch_checkout_onepage_indexは、お探しのイベントである必要があります。すべてのコントローラは、プレディスパッチ用の汎用イベントと要求されたアクションパスに基づく特定のイベントを起動するpreDispatchメソッドを継承します。 checkoutモジュール内に存在するコントローラは、onepageと呼ばれ、デフォルト動作はindexです。

レビューMage_Core_Controller_Varien_Action::preDispatch()該当するコードを表示

+0

素晴らしい答えをいただきありがとうございます。私はチェックアウトのボタンがonclickイベントを持っていたので、それを変更してXMLを処理し、手続き型PHPを使用してリダイレクトできると思っていました。しかし、それはMagentoシステムからすべてを取り去ってしまったでしょう。これは私の学習をさらに進歩させました! – McNab

+0

1ページコントローラのイベントは、バイパスできないほど一般的ですか?たとえば、私はIWDの拡張OnePageCheckoutを使用しています。このイベントが発生することはありません。 「より一般的な」オプションがありますか? – clime

関連する問題