1

当用户尝试购买东西时,他会去默认的结帐/单页创建一个帐户并下订单。他填写了很多信息,但如果他没有完成订单,则所有信息都被驳回。

之后,如果他想买东西,他必须重新完成所有的注册步骤。

有没有办法避免这种情况,或者这不是 onestep 的工作方式?

TIA。

4

1 回答 1

0

要在结帐时注册客户,请在一个步骤中结帐相同的一个请求。

在 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);
于 2013-01-26T10:03:01.390 回答