需要在更改订单的送货地址后触发的 Magento 事件
Need a Magento Event that will fire after changing the shipping address of an order
我一直在左右尝试事件,试图找到在通过 magento 管理员更新订单的送货地址后立即触发的事件。
我已经尝试了很多我在这里找到的东西,还有 sales_order_place_after(这是我用于前端事件的钩子),但是对于 adminhtml 事件,我似乎无法得到我的保存更改时触发的方法。
任何人都可以指出我正在寻找的活动的方向吗?
请尝试
controller_action_predispatch_checkout_onepage_saveShiping
我通过一些黑客攻击找到了解决方案:
本例中需要绑定的事件是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>
然后我将这个函数添加到我的 class:
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;
}
我一直在左右尝试事件,试图找到在通过 magento 管理员更新订单的送货地址后立即触发的事件。
我已经尝试了很多我在这里找到的东西,还有 sales_order_place_after(这是我用于前端事件的钩子),但是对于 adminhtml 事件,我似乎无法得到我的保存更改时触发的方法。
任何人都可以指出我正在寻找的活动的方向吗?
请尝试
controller_action_predispatch_checkout_onepage_saveShiping
我通过一些黑客攻击找到了解决方案:
本例中需要绑定的事件是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>
然后我将这个函数添加到我的 class:
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;
}