2011-08-24 26 views
0

我开发了一个自定义结账模块,工作正常。在第一次结帐时,当我输入新的帐单和送货地址时,它们将被设置为默认帐单和送货地址,这很好。现在,我有一个要求,只要输入新的送货地址,这应该成为默认送货地址。不知何故,我无法完成这项工作。我试过以下内容:Magento - 如何制作新的送货地址(另外)作为默认

$ 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; 

也没有帮助以下。 在这方面有人可以帮助吗?

回答

0

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

0

在贴到下一页的表单中只包含一个隐藏的输入

相关问题