本文整理汇总了PHP中Mage_Customer_Model_Customer::getAddresses方法的典型用法代码示例。如果您正苦于以下问题:PHP Mage_Customer_Model_Customer::getAddresses方法的具体用法?PHP Mage_Customer_Model_Customer::getAddresses怎么用?PHP Mage_Customer_Model_Customer::getAddresses使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mage_Customer_Model_Customer
的用法示例。
在下文中一共展示了Mage_Customer_Model_Customer::getAddresses方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _saveAddresses
protected function _saveAddresses(Mage_Customer_Model_Customer $customer)
{
foreach ($customer->getAddresses() as $address) {
if ($address->getData('_deleted')) {
$address->delete();
} else {
$address->setParentId($customer->getId())->setStoreId($customer->getStoreId())->save();
}
}
return $this;
}
示例2: testCreateWithAddresses
/**
* @param array $addressesData
* @dataProvider createWithAddressesDataProvider
*/
public function testCreateWithAddresses($addressesData)
{
$customerData = array('firstname' => 'ServiceTest', 'lastname' => 'CreateWithAddress', 'email' => 'test' . mt_rand(1000, 9999) . '@mail.com');
$this->_createdCustomer = $this->_model->create($customerData, $addressesData);
$this->assertCount(count($addressesData), $this->_createdCustomer->getAddresses());
/** @var Mage_Customer_Model_Customer $loadedCustomer */
$loadedCustomer = $this->_customerFactory->create()->load($this->_createdCustomer->getId());
$createdData = array();
/** @var Mage_Customer_Model_Address $address */
foreach ($loadedCustomer->getAddresses() as $address) {
$addressData = current($addressesData);
$createdData[] = $address->toArray(array_keys($addressData));
next($addressesData);
}
$this->assertEquals($this->_getSortedByKey($createdData, 'firstname'), $this->_getSortedByKey($addressesData, 'firstname'));
}
示例3: getAddressItems
/**
* Retrieve customer addresses list
*
* @param Mage_Customer_Model_Customer $customer
*
* @return array
*/
protected function getAddressItems($customer)
{
$result = array();
foreach ($customer->getAddresses() as $address) {
$data = $address->toArray();
$row = array();
foreach ($this->_mapAddressAttributes as $attributeAlias => $attributeCode) {
$row[$attributeAlias] = isset($data[$attributeCode]) ? $data[$attributeCode] : null;
}
foreach ($this->getAllowedAttributes($address) as $attributeCode => $attribute) {
if (isset($data[$attributeCode])) {
$row[$attributeCode] = $data[$attributeCode];
}
}
$row['is_default_billing'] = $customer->getDefaultBilling() == $address->getId();
$row['is_default_shipping'] = $customer->getDefaultShipping() == $address->getId();
$result[] = $row;
}
return $result;
}
示例4: _saveAddresses
public function _saveAddresses(Mage_Customer_Model_Customer $customer)
{
$defaultBillingId = $customer->getData('default_billing');
$defaultShippingId = $customer->getData('default_shipping');
$defaultPickupId = $customer->getData('default_pickup');
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);
}
if ($address->getId() == $defaultPickupId) {
$customer->setData('default_pickup', null);
}
$address->delete();
} 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 (($address->getIsPrimaryPickup() || $address->getIsDefaultPickup()) && $address->getId() != $defaultPickupId) {
$customer->setData('default_pickup', $address->getId());
}
}
}
if ($customer->dataHasChangedFor('default_billing')) {
$this->saveAttribute($customer, 'default_billing');
}
if ($customer->dataHasChangedFor('default_shipping')) {
$this->saveAttribute($customer, 'default_shipping');
}
if ($customer->dataHasChangedFor('default_pickup')) {
$this->saveAttribute($customer, 'default_pickup');
}
return $this;
}
示例5: _saveAddresses
/**
* Save/delete customer address
*
* @param Mage_Customer_Model_Customer $customer
* @return Mage_Customer_Model_Entity_Customer
*/
protected function _saveAddresses(Mage_Customer_Model_Customer $customer)
{
foreach ($customer->getAddresses() as $address) {
if ($address->getData('_deleted')) {
if ($address->getId() == $customer->getData('default_billing')) {
$customer->setData('default_billing', null);
}
if ($address->getId() == $customer->getData('default_shipping')) {
$customer->setData('default_shipping', null);
}
$address->delete();
} else {
$address->setParentId($customer->getId())->setStoreId($customer->getStoreId())->save();
if ($address->getIsPrimaryBilling() && $address->getId() != $customer->getData('default_billing')) {
$customer->setData('default_billing', $address->getId());
}
if ($address->getIsPrimaryShipping() && $address->getId() != $customer->getData('default_shipping')) {
$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;
}
示例6: _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;
}
示例7: _getAddressWithEntityId
/**
* @param Mage_Customer_Model_Customer $customer
* @param string $id
* @return string|null
*/
protected function _getAddressWithEntityId(Mage_Customer_Model_Customer $customer, $id)
{
if (isset($id)) {
$addresses = $customer->getAddresses();
if (!empty($addresses)) {
foreach ($addresses as $address) {
$entityId = $address->getEntityId();
if ($entityId == $id) {
return $address;
}
}
}
}
return null;
}
示例8: _getCustomerSetAddresses
/**
* @param ShopgateCustomer $shopgateCustomer
* @param Mage_Customer_Model_Customer $magentoCustomer
* @return ShopgateCustomer
*/
protected function _getCustomerSetAddresses(&$shopgateCustomer, $magentoCustomer)
{
$aAddresses = array();
foreach ($magentoCustomer->getAddresses() as $magentoCustomerAddress) {
/** @var Mage_Customer_Model_Address $magentoCustomerAddress */
$shopgateAddress = new ShopgateAddress();
$shopgateAddress->setId($magentoCustomerAddress->getId());
$shopgateAddress->setIsDeliveryAddress(1);
$shopgateAddress->setIsInvoiceAddress(1);
$shopgateAddress->setFirstName($magentoCustomerAddress->getFirstname());
$shopgateAddress->setLastName($magentoCustomerAddress->getLastname());
$shopgateAddress->setGender($this->_getCustomerHelper()->getShopgateCustomerGender($magentoCustomerAddress));
$shopgateAddress->setCompany($magentoCustomerAddress->getCompany());
$shopgateAddress->setMail($magentoCustomerAddress->getMail());
$shopgateAddress->setPhone($magentoCustomerAddress->getTelephone());
$shopgateAddress->setStreet1($magentoCustomerAddress->getStreet1());
$shopgateAddress->setStreet2($magentoCustomerAddress->getStreet2());
$shopgateAddress->setCity($magentoCustomerAddress->getCity());
$shopgateAddress->setZipcode($magentoCustomerAddress->getPostcode());
$shopgateAddress->setCountry($magentoCustomerAddress->getCountry());
$shopgateAddress->setState($this->_getHelper()->getIsoStateByMagentoRegion($magentoCustomerAddress));
$aAddresses[] = $shopgateAddress;
}
$shopgateCustomer->setAddresses($aAddresses);
return $shopgateCustomer;
}