当用户尝试购买东西时,他会去默认的结帐/单页创建一个帐户并下订单。他填写了很多信息,但如果他没有完成订单,则所有信息都被驳回。
之后,如果他想买东西,他必须重新完成所有的注册步骤。
有没有办法避免这种情况,或者这不是 onestep 的工作方式?
TIA。
当用户尝试购买东西时,他会去默认的结帐/单页创建一个帐户并下订单。他填写了很多信息,但如果他没有完成订单,则所有信息都被驳回。
之后,如果他想买东西,他必须重新完成所有的注册步骤。
有没有办法避免这种情况,或者这不是 onestep 的工作方式?
TIA。
要在结帐时注册客户,请在一个步骤中结帐相同的一个请求。
在 Model Onepage.php 中查看这段代码
if ($quote->getCheckoutMethod() == self::METHOD_REGISTER) {
// set customer password
$customer->setPassword($customerRequest->getParam('customer_password'));
$customer->setConfirmation($customerRequest->getParam('confirm_password'));
} else {
// spoof customer password for guest
$password = $customer->generatePassword();
$customer->setPassword($password);
$customer->setConfirmation($password);
// set NOT LOGGED IN group id explicitly,
// otherwise copyFieldset('customer_account', 'to_quote') will fill it with default group id value
$customer->setGroupId(Mage_Customer_Model_Group::NOT_LOGGED_IN_ID);
}
所以你可以在你的自定义模块中做
$quote->setCheckoutMethod(Mage_Checkout_Model_Type_Onepage::METHOD_REGISTER);