magento更改来宾用户的客户组

magento更改来宾用户的客户组,magento,checkout,Magento,Checkout,我的onepage签出中有一个自定义字段,在Model\Observer.php中使用该字段使用以下内容设置客户组: $customer = Mage::getSingleton("customer/session")->getCustomer(); $customer->setGroupId($newGroupId)->save(); 这一切都很好,我这样做是为了改变车上的税收 但是,对于作为客人退房的人,它会抛出一个错误: customer email is requir

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

$customer = Mage::getSingleton("customer/session")->getCustomer();
$customer->setGroupId($newGroupId)->save();
这一切都很好,我这样做是为了改变车上的税收

但是,对于作为客人退房的人,它会抛出一个错误:

customer email is required

是否有办法为客人设置客户组,例如第二个未登录的客户组?

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

  $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();
  }  

我最终以一种不同的、更复杂的方式完成了这项工作,即编辑Quote.php和Order.php文件。你的看起来好多了。