需要在更改订单的送货地址后触发的Magento事件

时间:2015-07-17 04:55:38

标签: magento magento2 magento2.0.2

我一直试图通过magento管理员更新订单的送货地址后左右试图找到一个可以立即触发的事件。

我已经尝试了很多我在这里找到的东西,以及sales_order_place_after(这是我用于前端事件的钩子),但对于adminhtml事件,我似乎无法在保存时触发我的方法变化。

有人能指出我正在寻找的事件的方向吗?

感谢。

2 个答案:

答案 0 :(得分:2)

我通过做一点点黑客来找到解决方案:

在这种情况下您需要绑定的事件是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;
}

答案 1 :(得分:0)

请尝试

    controller_action_predispatch_checkout_onepage_saveShiping