Magento 在结账时获取客户送货地址
Magento Get Customer Shipping Address During Checkout
我想在结帐时获取客户的送货地址。我们正在尝试做的是,如果他们试图通过 UPS 运送到邮政信箱,它会输出一个错误页面。在结帐页面中,有一个复选框,他们可以在其中检查保存到他们帐户中的不同地址。我已经在正确检测他们是否在使用 UPS 的地方找到了它,但是我无法正确获取客户的地址。无论我做什么,它都会记录默认的送货地址,即使他们 select 另一个。我的问题是我该怎么做才能使它位于 select 的地址 2 而不是地址 1?这是我的代码。错误输出 $street 的原因是我可以看到变量 $street.
中包含的内容
$quote = $this->getOnepage()->getQuote();
$shippingAddress = $quote->getShippingAddress();
$street = $shippingAddress->getStreet1();
//Check to see if customer is trying to use UPS to ship to a PO Box.
if (preg_match("/p\.* *o\.* *box/i", $street)){
if ((($shippingMethod=="tablerate3_bestway") || ($shippingMethod=="tablerate_bestway") || ($shippingMethod=="tablerate2_bestway"))){
$result = array (
'error' => -1,
'message' => $this->__($street)
);
$this->getResponse()->setBody(Zend_Json::encode($result));
}
}
送货地址
Mage::getSingleton('checkout/session')->getQuote()->getShippingAddress()->getData();
账单地址
Mage::getSingleton('checkout/session')->getQuote()->getBillingAddress()->getData();
我想在结帐时获取客户的送货地址。我们正在尝试做的是,如果他们试图通过 UPS 运送到邮政信箱,它会输出一个错误页面。在结帐页面中,有一个复选框,他们可以在其中检查保存到他们帐户中的不同地址。我已经在正确检测他们是否在使用 UPS 的地方找到了它,但是我无法正确获取客户的地址。无论我做什么,它都会记录默认的送货地址,即使他们 select 另一个。我的问题是我该怎么做才能使它位于 select 的地址 2 而不是地址 1?这是我的代码。错误输出 $street 的原因是我可以看到变量 $street.
中包含的内容 $quote = $this->getOnepage()->getQuote();
$shippingAddress = $quote->getShippingAddress();
$street = $shippingAddress->getStreet1();
//Check to see if customer is trying to use UPS to ship to a PO Box.
if (preg_match("/p\.* *o\.* *box/i", $street)){
if ((($shippingMethod=="tablerate3_bestway") || ($shippingMethod=="tablerate_bestway") || ($shippingMethod=="tablerate2_bestway"))){
$result = array (
'error' => -1,
'message' => $this->__($street)
);
$this->getResponse()->setBody(Zend_Json::encode($result));
}
}
送货地址
Mage::getSingleton('checkout/session')->getQuote()->getShippingAddress()->getData();
账单地址
Mage::getSingleton('checkout/session')->getQuote()->getBillingAddress()->getData();