【问题标题】:Magento Customer Group not changing in orderMagento 客户群没有按顺序改变
【发布时间】:2015-07-27 14:29:52
【问题描述】:

我有以下问题:当客户下单时,我想更改客户群:

我的 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>

我的观察者.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->save() ,奇怪的是,如果我向同一个客户下另一个订单,第二个订单会显示正确的组。 首次下单时如何更新群组?

提前致谢:)

【问题讨论】:

  • $customer->setGroupId($selectedgroup); 怎么样? $customer->save();?

标签: php magento observers


【解决方案1】:

您还应该像这样更新订单中的 customer_group_id:

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

【讨论】:

  • 是的!就是这样!谢谢,你让我开心!
  • 我很高兴。玩得开心!
猜你喜欢
  • 2023-03-31
  • 2021-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多