Magento客户群不按顺序更改

时间:2015-07-27 14:29:52

标签: php magento observers

我遇到以下问题:当客户下订单时我想更改客户群:

我的config.xml:

<sales_order_place_before>
            <observers>
                <kat_customer_save_observer>
                    <type>singleton</type>
                    <class>Kat_Customer_Model_Observer</class>
                    <method>customerSaveBefore</method>
                </kat_customer_save_observer>
            </observers>
        </sales_order_place_before>

My Observer.php

class Kat_Customer_Model_Observer extends Mage_Core_Model_Abstract
{    
    public function customerSaveBefore($observer) {
        $selectedgroup= 5;
        $order = $observer['order'];
        $customer = $order->getCustomer();
        $customer->setData('group_id', $selectedgroup)->save();
    }
}

问题在于,如果我查看后端,执行观察者后,客户信息中的客户组是正确的,但如果我查看订单信息,则会显示旧的客户组。 我还尝试插入order-&gt; save(),奇怪的是如果我向同一个客户下了另一个订单,第二个订单显示正确的组。 如何在下单时更新小组?

提前致谢:)

1 个答案:

答案 0 :(得分:1)

您还应该按照以下顺序更新customer_group_id:

$order = $observer['order'];
$order->setData('customer_group_id',$selectedgroup)->save();