現在、次のイベントをリッスンするオブザーバーを備えた Magento モジュールがあります。
- sales_order_invoice_save_after
- sales_order_place_after
- sales_order_shipment_save_after
- order_cancel_after
オブザーバーは、注文に関する重要な詳細をパッケージ化し、クライアントが選択した出力 (JSON、CSV、XML) でそれらをリモート システムにエクスポートするモデル内のメソッドを呼び出します。
ただし、エクスポートする前にデータの変更を必要とするクライアントが 1 つあります。
私がやりたいのは、永久に維持する「特別な」バージョンを作成するのではなく、このモジュールをカスタム ローカル モジュールで拡張することです。これを処理するメソッドをオーバーライドするのに十分なほど簡単にモデルを拡張できますが、それが確実に呼び出されるようにする方法が正確にはわかりません。
オブザーバーによって呼び出されたクラスをオーバーライドするにはどうすればよいですか?
これは私の問題に対する正しいアプローチですか?たとえば、どのクラスがプロセスを処理するかを決定するための構成設定を探す、ある種のディスパッチ モデルを用意する方が適切でしょうか?