Magento Onestep Checkout:如何在最后一步(下订单)之前创建客户

时间:2013-01-25 18:47:22

标签: magento

当用户尝试购买某物时,他会转到默认结帐/一页创建帐户并下订单。他填写了很多信息,但如果他没有完成订单,所有信息都会被解雇。

稍后,如果他试图买东西,他必须再次进行所有注册步骤。

是否可以选择避免这种情况,或者这不是onetep的工作方式?

TIA。

1 个答案:

答案 0 :(得分: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);