需要一个Magento事件,将火灾后,改变了订单的送货地址

a7qyws3x  于 2022-11-12  发布在  其他
关注(0)|答案(2)|浏览(128)

我一直在尝试事件左和右试图找到一个火灾后,通过magento管理更新订单的发货地址的权利。
我已经尝试了很多我在这里找到的东西,以及sales_order_place_after(这是我用于前端事件的钩子),但是对于adminhtml事件,当我保存更改时,我似乎不能让我的方法激发。
谁能给我指一下我正在寻找的活动的方向?

uqxowvwt

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;
}
vwkv1x7d

vwkv1x7d2#

请尝试使用

controller_action_predispatch_checkout_onepage_saveShiping

相关问题