magento更改客户用户组

时间:2012-03-09 11:51:44

标签: magento checkout

我的onepage checkout中有一个自定义字段,在Model\Observer.php中用于使用以下内容设置客户组:

$customer = Mage::getSingleton("customer/session")->getCustomer();
$customer->setGroupId($newGroupId)->save();

这一切都很有效,我这样做是为了改变购物车中的税。

但是,对于以客人身份结账的人,会抛出错误:

customer email is required

有没有办法为客人设置客户组,例如第二个NOT LOGGED IN组?

1 个答案:

答案 0 :(得分:5)

检查用户会话,然后设置客户电子邮件地址。

  $session = Mage::getSingleton('customer/session');  
  $customer = $session->getCustomer();  
  if($session->isLoggedIn()) {  
     $customer->setGroupId($newGroupId)->save();  
  } else {  
     $customer->setEmail($customer->getData('email')); 
     $customer->setGroupId('2'); // I am assuming 'guest' groupd id is 2
     $customer->save();
  }