【问题标题】:Magento - How to make new shipping address (additional) as defaultMagento - 如何将新的送货地址(附加)设为默认
【发布时间】:2011-08-24 05:52:44
【问题描述】:

我开发了一个自定义结帐模块并且工作正常。在第一次结帐时,当我输入新的帐单和送货地址时,它们被设置为默认帐单和送货地址,这很好。现在,我有一个要求,每当输入新的送货地址时,这应该成为默认送货地址。不知何故,我无法完成这项工作。我尝试了以下方法:

$shipdata 是一个包含新地址详细信息的数组。

$shipAddress = $this->getQuote()->getShippingAddress();
$shipAddress->addData($shipdata);
$shipAddress->setIsDefaultShipping(true);

if($this->getQuote()->getDefaultShipping()) {
   $this->getQuote()->setData('default_shipping', '');
   $this->getQuote()->addAddress($shipAddress);
}
$this->getQuote()->collectTotals();
$this->getQuote()->save();

我还尝试在 $shipdata 中添加以下内容

$shipdata['default_shipping'] = 1;

但也没有帮助。 有人可以在这方面提供帮助吗?

【问题讨论】:

    标签: magento checkout


    【解决方案1】:

    您可以尝试在“customer_address_save_before”事件上使用观察者。在那里设置 isDefaultShipping 标志将起作用。唯一我不知道的是检查您是否在结帐过程中。

    【讨论】:

      【解决方案2】:

      在发布到下一页的表单中,只需包含一个隐藏的输入

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-06-04
        • 2012-08-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-06-25
        • 2022-01-21
        • 2015-11-15
        相关资源
        最近更新 更多