当前位置: 首页>>代码示例>>PHP>>正文


PHP Mage_Customer_Model_Customer::getAddressItemById方法代码示例

本文整理汇总了PHP中Mage_Customer_Model_Customer::getAddressItemById方法的典型用法代码示例。如果您正苦于以下问题:PHP Mage_Customer_Model_Customer::getAddressItemById方法的具体用法?PHP Mage_Customer_Model_Customer::getAddressItemById怎么用?PHP Mage_Customer_Model_Customer::getAddressItemById使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Mage_Customer_Model_Customer的用法示例。


在下文中一共展示了Mage_Customer_Model_Customer::getAddressItemById方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: _validateCustomerAddress

 /**
  * Customer address validation.
  *
  * @param Varien_Object $response
  * @param Mage_Customer_Model_Customer $customer
  */
 protected function _validateCustomerAddress($response, $customer)
 {
     $addressesData = $this->getRequest()->getParam('address');
     if (is_array($addressesData)) {
         /* @var $addressForm Mage_Customer_Model_Form */
         $addressForm = Mage::getModel('Mage_Customer_Model_Form');
         $addressForm->setFormCode('adminhtml_customer_address')->ignoreInvisible(false);
         foreach (array_keys($addressesData) as $index) {
             if ($index == '_template_') {
                 continue;
             }
             $address = $customer->getAddressItemById($index);
             if (!$address) {
                 $address = Mage::getModel('Mage_Customer_Model_Address');
             }
             $requestScope = sprintf('address/%s', $index);
             $formData = $addressForm->setEntity($address)->extractData($this->getRequest(), $requestScope);
             $errors = $addressForm->validateData($formData);
             if ($errors !== true) {
                 foreach ($errors as $error) {
                     $this->_getSession()->addError($error);
                 }
                 $response->setError(1);
             }
         }
     }
 }
开发者ID:natxetee,项目名称:magento2,代码行数:33,代码来源:CustomerController.php

示例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);
 }
开发者ID:,项目名称:,代码行数:43,代码来源:


注:本文中的Mage_Customer_Model_Customer::getAddressItemById方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。