Значение Region_id при сохранении в адресной книги клиента

magento.stackexchange https://magento.stackexchange.com/questions/8646

  •  16-10-2019
  •  | 
  •  

Вопрос

Ниже приведен какой -то код для сохранения адреса в адресную книгу клиента ... какое значение мне нужно поместить в Region_ID и необходимо ли это?

  $_custom_address = array (
                        'firstname' => 'Honkey',
                        'lastname' => 'Joseph',
                        'street' => array (
                            '0' => 'Sample address part1 SECOND',
                            '1' => 'Sample address part2 SECOND',
                        ),
                        'city' => 'Orlando',
                        'region_id' => '',
                        'region' => 'MN',
                        'postcode' => '31000',
                        'country_id' => 'US',
                        'telephone' => '0038531555444',
                    );
                    $customAddress = Mage::getModel('customer/address');
                    //$customAddress = new Mage_Customer_Model_Address();
                    $customAddress->setData($_custom_address)
                                ->setCustomerId($customer->getId())
                                ->setSaveInAddressBook('1');
                    try {
                        $customAddress->save();
                    } 
                    catch (Exception $ex) {
                        Mage::log('Could not save customer',null,'caitlin.log');
                        Mage::log($ex->getMessage(),null,'caitlin.log');
                    }
Это было полезно?

Решение

В настройках по умолчанию для адресов клиента требуется Region_ID. Поэтому, если вы добавите адрес для клиента через этот код, он не сможет отредактировать его или использовать его для оформления заказа без обновления адреса сначала для включения региона.

Что касается того, какое значение он должен быть соответствующим идентификатором региона, который был выбран. Вы можете найти их, просмотрев переднюю часть веб -сайта или изучив свою базу данных в таблице "Directory_country_region".

В атрибуте региона используется исходная модель типа: mage_customer_model_resource_address_attribute_source_region

Который загружает параметры через следующий код:

public function getAllOptions()
{
    if (!$this->_options) {
        $this->_options = Mage::getResourceModel('directory/region_collection')->load()->toOptionArray();
    }
    return $this->_options;
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top