magento更改客户用户组

Ale*_*ley 2 checkout magento

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

$customer = Mage::getSingleton("customer/session")->getCustomer();
$customer->setGroupId($newGroupId)->save();
Run Code Online (Sandbox Code Playgroud)

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

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

customer email is required
Run Code Online (Sandbox Code Playgroud)

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

Oğu*_*mir 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();
  }  
Run Code Online (Sandbox Code Playgroud)