本文整理汇总了PHP中Mage_Sales_Model_Quote_Address::importCustomerAddress方法的典型用法代码示例。如果您正苦于以下问题:PHP Mage_Sales_Model_Quote_Address::importCustomerAddress方法的具体用法?PHP Mage_Sales_Model_Quote_Address::importCustomerAddress怎么用?PHP Mage_Sales_Model_Quote_Address::importCustomerAddress使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mage_Sales_Model_Quote_Address
的用法示例。
在下文中一共展示了Mage_Sales_Model_Quote_Address::importCustomerAddress方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _importCustomerAddressTo
protected function _importCustomerAddressTo(Mage_Sales_Model_Quote_Address $address)
{
$customerAddress = $this->getCustomer()->getPrimaryShippingAddress();
if ($customerAddress) {
$address->importCustomerAddress($customerAddress)->setSaveInAddressBook(0);
}
}
示例2: updateResource
/**
* Update the resource model
*
* @param Mage_Sales_Model_Quote_Address $resource
* @param array $data
*
* @return Mage_Sales_Model_Quote_Address
*/
public function updateResource(Mage_Sales_Model_Quote_Address $resource, array $data)
{
// Store current state
$actionType = $this->getActionType();
$operation = $this->getOperation();
// Change state
$this->setActionType(self::ACTION_TYPE_ENTITY);
$this->setOperation(self::OPERATION_UPDATE);
// Get a filter instance
$filter = $this->getFilter();
// Filter raw incoming data
$data = $filter->in($data);
// Check if the update is setting a customer address ID to use
if (array_key_exists('customer_address_id', $data) && $data['customer_address_id']) {
/** @var Mage_Customer_Model_Address $customerAddress */
$customerAddress = Mage::getModel('customer/address')->load($data['customer_address_id']);
if ($customerAddress->getId()) {
if ($customerAddress->getCustomerId() != $resource->getQuote()->getCustomerId()) {
$this->_critical(Mage::helper('checkout')->__('Customer Address is not valid.'), Mage_Api2_Model_Server::HTTP_BAD_REQUEST);
}
$resource->importCustomerAddress($customerAddress);
$resource->setSaveInAddressBook(0);
}
} else {
// Fix region/country data
$data = $this->getHelper()->fixAddressData($data, $resource->getCountryId(), $resource->getRegionId());
// Get allowed attributes
$allowedAttributes = $filter->getAllowedAttributes(Mage_Api2_Model_Resource::OPERATION_ATTRIBUTE_WRITE);
// Update model
$this->saveResourceAttributes($resource, array_merge($allowedAttributes, ['region_id']), $data);
}
// Update the shipping address if it is meant to match the billing address
if ($resource->getQuote()->getShippingAddress()->getSameAsBilling()) {
$shippingAddress = $resource->getQuote()->getShippingAddress();
$shippingAddress->importCustomerAddress($resource->exportCustomerAddress());
$shippingAddress->setSameAsBilling(1);
}
// Validate address
$addressErrors = $this->getHelper()->validateQuoteAddress($resource);
if (!empty($addressErrors)) {
$resource->setData('validation_errors', $addressErrors);
}
// Fire event - after
$data = new Varien_Object($data);
Mage::dispatchEvent('aoe_cartapi_billingaddress_update_after', ['data' => $data, 'filter' => $filter, 'resource' => $resource]);
// Restore old state
$this->setActionType($actionType);
$this->setOperation($operation);
// Return updated resource
return $resource;
}
示例3: setQuoteAddresses
protected function setQuoteAddresses()
{
$defaultAddress = $this->getDefaultAddress();
$billingAddress = new Mage_Sales_Model_Quote_Address();
$billingAddress->importCustomerAddress($defaultAddress);
$this->quote->setBillingAddress($billingAddress);
$shippingAddress = new Mage_Sales_Model_Quote_Address();
$shippingAddress->importCustomerAddress($defaultAddress);
$this->quote->setShippingAddress($shippingAddress);
return $this;
}
示例4: setupShippingAddress
protected function setupShippingAddress()
{
$address = new \Mage_Sales_Model_Quote_Address();
$address->importCustomerAddress($this->getCustomerShippingAddress());
$this->getQuote()->setShippingAddress($address);
return $this;
}