我的onepage checkout中有一个自定义字段,在Model\Observer.php
中用于使用以下内容设置客户组:
$customer = Mage::getSingleton("customer/session")->getCustomer();
$customer->setGroupId($newGroupId)->save();
这一切都很有效,我这样做是为了改变购物车中的税。
但是,对于以客人身份结账的人,会抛出错误:
customer email is required
有没有办法为客人设置客户组,例如第二个NOT LOGGED IN组?
答案 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();
}