本文整理汇总了PHP中Mage_Customer_Model_Customer::getAddressesCollection方法的典型用法代码示例。如果您正苦于以下问题:PHP Mage_Customer_Model_Customer::getAddressesCollection方法的具体用法?PHP Mage_Customer_Model_Customer::getAddressesCollection怎么用?PHP Mage_Customer_Model_Customer::getAddressesCollection使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mage_Customer_Model_Customer
的用法示例。
在下文中一共展示了Mage_Customer_Model_Customer::getAddressesCollection方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: tearDown
protected function tearDown()
{
$previousStoreId = Mage::app()->getStore();
Mage::app()->setCurrentStore(Mage::app()->getStore(Mage_Core_Model_App::ADMIN_STORE_ID));
if ($this->_createdCustomer && $this->_createdCustomer->getId() > 0) {
$this->_createdCustomer->getAddressesCollection()->delete();
$this->_createdCustomer->delete();
}
Mage::app()->setCurrentStore($previousStoreId);
$this->_model = null;
}
示例2: _prepareCustomerAddressesForSave
/**
* Save customer addresses.
*
* @param Mage_Customer_Model_Customer $customer
* @param array $addressesData
* @throws Mage_Core_Exception
*/
protected function _prepareCustomerAddressesForSave($customer, array $addressesData)
{
$hasChanges = $customer->hasDataChanges();
$actualAddressesIds = array();
foreach ($addressesData as $addressData) {
$addressId = null;
if (array_key_exists('entity_id', $addressData)) {
$addressId = $addressData['entity_id'];
unset($addressData['entity_id']);
}
if (null !== $addressId) {
$address = $customer->getAddressItemById($addressId);
if (!$address || !$address->getId()) {
throw new Mage_Core_Exception($this->_translateHelper->__('The address with the specified ID not found.'));
}
} else {
$address = $this->_addressFactory->create();
$address->setCustomerId($customer->getId());
// Add customer address into addresses collection
$customer->addAddress($address);
}
$address->addData($addressData);
$hasChanges = $hasChanges || $address->hasDataChanges();
// Set post_index for detect default billing and shipping addresses
$address->setPostIndex($addressId);
$actualAddressesIds[] = $address->getId();
}
/** @var Mage_Customer_Model_Address $address */
foreach ($customer->getAddressesCollection() as $address) {
if (!in_array($address->getId(), $actualAddressesIds)) {
$address->setData('_deleted', true);
$hasChanges = true;
}
}
$customer->setDataChanges($hasChanges);
}
示例3: _saveAddresses
/**
* Save/delete customer address
*
* @param Mage_Customer_Model_Customer $customer
* @return Mage_Customer_Model_Resource_Customer
*/
protected function _saveAddresses(Mage_Customer_Model_Customer $customer)
{
$defaultBillingId = $customer->getData('default_billing');
$defaultShippingId = $customer->getData('default_shipping');
/** @var Mage_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());
}
}
}
if ($customer->dataHasChangedFor('default_billing')) {
$this->saveAttribute($customer, 'default_billing');
}
if ($customer->dataHasChangedFor('default_shipping')) {
$this->saveAttribute($customer, 'default_shipping');
}
return $this;
}
示例4: _anonymizeCustomerAddresses
/**
* @param Mage_Customer_Model_Customer $customer
* @param array $randomData
*/
protected function _anonymizeCustomerAddresses($customer, $randomData)
{
$customerAddresses = $customer->getAddressesCollection()->addAttributeToSelect(array('prefix', 'firstname', 'lastname', 'suffix'));
foreach ($customerAddresses as $customerAddress) {
/** @var $customerAddress Mage_Customer_Model_Address */
if ($customerAddress->getFirstname() == $customer->getOrigData('firstname') && $customerAddress->getLastname() == $customer->getOrigData('lastname')) {
$newRandomData = $randomData;
} else {
$newRandomData = $this->_getRandomData();
}
$this->_anonymizeCustomerAddress($customerAddress, $newRandomData);
}
}