本文整理汇总了PHP中Magento\Customer\Model\Customer::getAddresses方法的典型用法代码示例。如果您正苦于以下问题:PHP Customer::getAddresses方法的具体用法?PHP Customer::getAddresses怎么用?PHP Customer::getAddresses使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Magento\Customer\Model\Customer
的用法示例。
在下文中一共展示了Customer::getAddresses方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _saveAddresses
/**
* Save/delete customer address
*
* @param \Magento\Customer\Model\Customer $customer
* @return $this
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
*/
protected function _saveAddresses(\Magento\Customer\Model\Customer $customer)
{
$defaultBillingId = $customer->getData('default_billing');
$defaultShippingId = $customer->getData('default_shipping');
/** @var \Magento\Customer\Model\Address $address */
foreach ($customer->getAddresses() as $address) {
if ($address->getData('_deleted')) {
if ($address->getId() == $defaultBillingId) {
$customer->setData('default_billing', null);
}
if ($address->getId() == $defaultShippingId) {
$customer->setData('default_shipping', null);
}
$removedAddressId = $address->getId();
$address->delete();
// Remove deleted address from customer address collection
$customer->getAddressesCollection()->removeItemByKey($removedAddressId);
} else {
$address->setParentId($customer->getId())->setStoreId($customer->getStoreId())->setIsCustomerSaveTransaction(true)->save();
if (($address->getIsPrimaryBilling() || $address->getIsDefaultBilling()) && $address->getId() != $defaultBillingId) {
$customer->setData('default_billing', $address->getId());
}
if (($address->getIsPrimaryShipping() || $address->getIsDefaultShipping()) && $address->getId() != $defaultShippingId) {
$customer->setData('default_shipping', $address->getId());
}
}
}
$this->saveAttribute($customer, 'default_billing');
$this->saveAttribute($customer, 'default_shipping');
return $this;
}
示例2: _saveAddresses
/**
* Save/delete customer address
*
* @param \Magento\Customer\Model\Customer $customer
* @return $this
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
*/
protected function _saveAddresses(\Magento\Customer\Model\Customer $customer)
{
$defaultBillingId = $customer->getData('default_billing');
$defaultShippingId = $customer->getData('default_shipping');
/** @var \Magento\Customer\Model\Address $address */
foreach ($customer->getAddresses() as $address) {
if ($address->getData('_deleted')) {
if ($address->getId() == $defaultBillingId) {
$customer->setData('default_billing', null);
}
if ($address->getId() == $defaultShippingId) {
$customer->setData('default_shipping', null);
}
$removedAddressId = $address->getId();
$address->delete();
// Remove deleted address from customer address collection
$customer->getAddressesCollection()->removeItemByKey($removedAddressId);
} else {
$address->setParentId($customer->getId())->setStoreId($customer->getStoreId())->setIsCustomerSaveTransaction(true)->save();
if (($address->getIsPrimaryBilling() || $address->getIsDefaultBilling()) && $address->getId() != $defaultBillingId) {
$customer->setData('default_billing', $address->getId());
}
if (($address->getIsPrimaryShipping() || $address->getIsDefaultShipping()) && $address->getId() != $defaultShippingId) {
$customer->setData('default_shipping', $address->getId());
}
}
}
$changedAddresses = [];
$changedAddresses['default_billing'] = $customer->getData('default_billing');
$changedAddresses['default_shipping'] = $customer->getData('default_shipping');
$this->_getWriteAdapter()->update($this->getTable('customer_entity'), $changedAddresses, $this->_getWriteAdapter()->quoteInto('entity_id = ?', $customer->getId()));
return $this;
}