本文整理匯總了PHP中Magento\Quote\Model\Quote\Address::getCustomerAddressId方法的典型用法代碼示例。如果您正苦於以下問題:PHP Address::getCustomerAddressId方法的具體用法?PHP Address::getCustomerAddressId怎麽用?PHP Address::getCustomerAddressId使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Magento\Quote\Model\Quote\Address
的用法示例。
在下文中一共展示了Address::getCustomerAddressId方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: testPopulateBeforeSaveData
public function testPopulateBeforeSaveData()
{
/** Preconditions */
$customerId = 1;
$customerAddressId = 1;
$this->_address->setQuote($this->_quote);
$this->assertNotEquals($customerId, $this->_address->getCustomerId(), "Precondition failed: Customer ID was not set.");
$this->assertNotEquals(1, $this->_address->getQuoteId(), "Precondition failed: Quote ID was not set.");
$this->assertNotEquals($customerAddressId, $this->_address->getCustomerAddressId(), "Precondition failed: Customer address ID was not set.");
/** @var \Magento\Customer\Api\Data\AddressInterfaceFactory $addressFactory */
$addressFactory = Bootstrap::getObjectManager()->create('Magento\\Customer\\Api\\Data\\AddressInterfaceFactory');
$customerAddressData = $addressFactory->create()->setId($customerAddressId);
$this->_address->setCustomerAddressData($customerAddressData);
$this->_address->save();
$this->assertEquals($customerId, $this->_address->getCustomerId());
$this->assertEquals($this->_quote->getId(), $this->_address->getQuoteId());
$this->assertEquals($customerAddressId, $this->_address->getCustomerAddressId());
}
示例2: getEditBillingAddressUrl
/**
* @param Address $address
* @return string
*/
public function getEditBillingAddressUrl($address)
{
return $this->getUrl('*/checkout_address/editBilling', ['id' => $address->getCustomerAddressId()]);
}
示例3: _prepareCustomerAddress
/**
* Create customer address and save it in the quote so that it can be used to persist later.
*
* @param \Magento\Customer\Api\Data\CustomerInterface $customer
* @param \Magento\Quote\Model\Quote\Address $quoteCustomerAddress
* @return void
* @throws \InvalidArgumentException
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
*/
protected function _prepareCustomerAddress($customer, $quoteCustomerAddress)
{
// Possible that customerId is null for new customers
$quoteCustomerAddress->setCustomerId($customer->getId());
$customerAddress = $quoteCustomerAddress->exportCustomerAddress();
$quoteAddressId = $quoteCustomerAddress->getCustomerAddressId();
$addressType = $quoteCustomerAddress->getAddressType();
if ($quoteAddressId) {
/** Update existing address */
$existingAddressDataObject = $this->addressRepository->getById($quoteAddressId);
/** Update customer address data */
$this->dataObjectHelper->mergeDataObjects(get_class($existingAddressDataObject), $existingAddressDataObject, $customerAddress);
$customerAddress = $existingAddressDataObject;
} elseif ($addressType == \Magento\Quote\Model\Quote\Address::ADDRESS_TYPE_SHIPPING) {
try {
$billingAddressDataObject = $this->accountManagement->getDefaultBillingAddress($customer->getId());
} catch (\Exception $e) {
/** Billing address does not exist. */
}
$isShippingAsBilling = $quoteCustomerAddress->getSameAsBilling();
if (isset($billingAddressDataObject) && $isShippingAsBilling) {
/** Set existing billing address as default shipping */
$customerAddress = $billingAddressDataObject;
$customerAddress->setIsDefaultShipping(true);
}
}
switch ($addressType) {
case \Magento\Quote\Model\Quote\Address::ADDRESS_TYPE_BILLING:
if (is_null($customer->getDefaultBilling())) {
$customerAddress->setIsDefaultBilling(true);
}
break;
case \Magento\Quote\Model\Quote\Address::ADDRESS_TYPE_SHIPPING:
if (is_null($customer->getDefaultShipping())) {
$customerAddress->setIsDefaultShipping(true);
}
break;
default:
throw new \InvalidArgumentException('Customer address type is invalid.');
}
$this->getQuote()->setCustomer($customer);
$this->getQuote()->addCustomerAddress($customerAddress);
}