【问题标题】:Magento Checkout ProcessMagento 结帐流程
【发布时间】:2015-08-20 12:18:13
【问题描述】:

我添加了一个自定义模块,以从我的商店结帐流程中删除登录步骤,从而使结算详细信息成为第一步。即使客户已注销,我也想显示帐单详细信息表单。我不确定如何更改下面的代码以实现我想要的。

<?php
class Step_Removal_Block_Onepage extends Mage_Checkout_Block_Onepage
{
    public function getSteps()
    {
        $steps = array();

        if (!$this->isCustomerLoggedIn()) {
            //$steps['login'] = $this->getCheckout()->getStepData('login');
        }

        $stepCodes = array('billing', 'shipping', 'shipping_method', 'payment', 'review');

        foreach ($stepCodes as $step) {
            $steps[$step] = $this->getCheckout()->getStepData($step);
        }
        return $steps;
    }

    public function getActiveStep()
    {
        //return $this->isCustomerLoggedIn() ? 'billing' : 'login';
        return $this->isCustomerLoggedIn() ? 'billing' : 'billing';
    }
}

【问题讨论】:

  • 您的代码看起来正确 - 它返回了什么?
  • 它在没有登录表单的情况下返回结帐页面,但结算表单未激活。正在尝试激活帐单信息表单。

标签: magento


【解决方案1】:

替换此代码

foreach ($stepCodes as $step) {
    $steps[$step] = $this->getCheckout()->getStepData($step);
}
return $steps;

foreach ($stepCodes as $step) {
    $steps[$step] = $this->getCheckout()->getStepData($step);
}
$steps['billing']['allow']=1;
return $steps;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-17
    • 1970-01-01
    • 1970-01-01
    • 2013-06-23
    • 1970-01-01
    • 2012-02-19
    • 2012-08-26
    • 2019-10-04
    相关资源
    最近更新 更多