duanque19820925 2015-07-23 00:07 采纳率: 0%
浏览 55

Magento在观察者上更新订单产品

I'm trying to update additional_data field on sales_flat_order_item table in Magento.

For this I create a custom module

This is my Observer.php under app/code/local/Distelsa/Wedding/Models :

class Distelsa_Wedding_Model_Observer{

    public function AddWeddingIdToProduct(Varien_Event_Observer $observer)
    {
        $event = $observer->getEvent();

        $item = $event->getQuoteItem();
        $quote = $item->getQuote();
        $product = $observer->getEvent()->getProduct();

        $controllerAction = $event->getControllerAction();
        $params = $controllerAction->getRequest()->getParams();
        $boda = Mage::app()->getRequest()->getParam('boda');

        $write = Mage::getSingleton('core/resource')->getConnection('core_write');
        $query = "UPDATE `sales_flat_quote_item` SET additional_data = '".$params['boda']."' where item_id = ".$item->getId();
        $write->query($query);

    }
}

This is my config.xml:

<global>
    <events>
        <sales_order_save_after>
            <observers>
                <sales_order_save_after_wedding>
                    <type>model</type>
                    <class>wedding/observer</class>
                    <method>AddWeddingIdToProduct</method>
                </sales_order_save_after_wedding>
            </observers>
        </sales_order_save_after>
    </events>
</global>

Any clue on how can I make this works?

  • 写回答

1条回答 默认 最新

  • dsfsdfsd34324 2015-07-23 06:32
    关注

    The <class> is wrong in the config.xml file.

    The correct class in the config.xml goes like this :

    <global>
        <events>
            <sales_order_save_after>
                <observers>
                    <sales_order_save_after_wedding>
                        <type>model</type>
                        <class>distelsa_wedding/observer</class>
                        <method>AddWeddingIdToProduct</method>
                    </sales_order_save_after_wedding>
                </observers>
            </sales_order_save_after>
        </events>
    </global>
    

    Clear the chache when you are done. Hope this helps.

    评论

报告相同问题?

悬赏问题

  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序