我一直在尝试事件左和右试图找到一个火灾后,通过magento管理更新订单的发货地址的权利。我已经尝试了很多我在这里找到的东西,以及sales_order_place_after(这是我用于前端事件的钩子),但是对于adminhtml事件,当我保存更改时,我似乎不能让我的方法激发。谁能给我指一下我正在寻找的活动的方向?
uqxowvwt1#
我通过黑客技术找到了解决方案:在这种情况下,您需要绑定的事件是adminhtml_sales_order_addressSave。我通过创建一个全局事件观察器发现了这一点,它只监视服务器上发生的所有事件:
<adminhtml> <events> <controller_action_predispatch> <observers> <add_event> <type>singleton</type> <class>MGD_Shippingodbc_Model_Observer</class> <method>trackEvents</method> </add_event> </observers> </controller_action_predispatch> </events> </adminhtml>
然后我在我的类中添加了这个函数:
function trackEvents($observer) { Mage::log("track event:" . $observer->getEvent()->getControllerAction()->getFullActionName()); return $this; }
有趣的是,我还意识到,我也可以使用同样的方法创建自己的事件调度程序,只需在事件通过观察器函数时对其进行监视,如下所示:
function trackEvents($observer) { if ($observer->getEvent()->getControllerAction()->getFullActionName() == "adminhtml_sales_order_addressSave") Mage::dispatchEvent('my_custom_event_observer', []); return $this; }
vwkv1x7d2#
请尝试使用
controller_action_predispatch_checkout_onepage_saveShiping
2条答案
按热度按时间uqxowvwt1#
我通过黑客技术找到了解决方案:
在这种情况下,您需要绑定的事件是adminhtml_sales_order_addressSave。
我通过创建一个全局事件观察器发现了这一点,它只监视服务器上发生的所有事件:
然后我在我的类中添加了这个函数:
有趣的是,我还意识到,我也可以使用同样的方法创建自己的事件调度程序,只需在事件通过观察器函数时对其进行监视,如下所示:
vwkv1x7d2#
请尝试使用