valore region_id durante il salvataggio di indirizzo del cliente libro
-
16-10-2019 - |
Domanda
Il seguente è un codice per salvare un indirizzo alla rubrica del cliente ... quale valore devo essere messa in region_id ed è necessario?
$_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');
}
Soluzione
Nelle impostazioni predefinite per gli indirizzi dei clienti è necessario il region_id. Quindi, se si aggiunge un indirizzo di un cliente tramite questo codice non sarebbero in grado di modificarlo o usarlo per cassa senza aggiornare l'indirizzo prima ad includere la regione.
Con riferimento alla quale valore dovrebbe essere l'id corrispondenza della regione che è stata selezionata. È possibile trovare questi visualizzando l'estremità anteriore del sito web o, cercando nel vostro database al "directory_country_region" tavolo.
L'attributo regione utilizza un modello di origine di tipo: Mage_Customer_Model_Resource_Address_Attribute_Source_Region
che carica le opzioni tramite il seguente codice:
public function getAllOptions()
{
if (!$this->_options) {
$this->_options = Mage::getResourceModel('directory/region_collection')->load()->toOptionArray();
}
return $this->_options;
}