我目前有一个带有观察者的 Magento 模块,它监听以下事件:
- sales_order_invoice_save_after
- sales_order_place_after
- sales_order_shipment_save_after
- order_cancel_after
观察者调用模型中的一个方法,该方法打包有关订单的重要细节,并将它们以客户端选择的输出(JSON、CSV、XML)的形式导出到远程系统。
不过,我有一个客户端需要在导出数据之前对其进行一些突变。
我想做的是用自定义本地模块扩展这个模块,而不是制作一个“特殊”版本来永久维护。我可以轻松地扩展模型以覆盖将处理此问题的方法,但我不确定如何确保它被调用。
如何覆盖观察者调用的类?
这甚至是解决我的问题的正确方法吗?例如,拥有某种调度模型来寻找配置设置来决定哪个类将处理该过程是否更合适?