我在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组?
检查用户会话然后设置客户电子邮件地址
$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)
| 归档时间: |
|
| 查看次数: |
7505 次 |
| 最近记录: |