在magento上捕获重新排序事件

时间:2013-03-25 14:39:26

标签: magento events

在magento的管理面板中点击重新排序按钮时,我需要从订单中删除产品。

ATM我在sales_order_save_after节点中使用global。它会触发完成,取消和相似的事件 - 但不会重新排序。

    <events>
        <sales_order_save_after>
            <observers>
                <isThisTagTotallyRandom>
                    <type>model</type>
                    <class>mymodule/observer</class>
                    <method>onOrderSaved</method>
                </isThisTagTotallyRandom>
            </observers>
        </sales_order_save_after>
    </events>

所以我的问题是:

  • 捕获重新排序的正确事件是什么?
  • 毕竟,在重新排序时,某个时候应该有一个保存动作,为什么不调用此事件?
  • 作为奖励问题:标签<isThisTagTotallyRandom>是否真的完全随机?

1 个答案:

答案 0 :(得分:2)

进行重新排序时,首先只创建一个引号。这解释了为什么到目前为止没有保存订单。

如果您查看来自Mage_Adminhtml_Sales_Order_CreateController的重新排序操作,则会从initFromOrder调用Mage_Adminhtml_Model_Sales_Order_Create。在这种方法中,有一个名为sales_convert_order_to_quote的事件被调度,你可以听。您可以从中获取报价和订单(并从中删除产品)。

此时只创建一个引用,当单击“提交订单”按钮时,该引用将转换为订单(此时您可以对sales_order_save_after我做出反应。)