Programación estableciendo un ID de sitio web de los clientes
-
13-12-2019 - |
Pregunta
Podría alguien aconsejar por qué cuando agrega un cliente a través de un script externo, el sitio web y los valores de la tienda se ignoran y el cliente siempre se asigna a "admin" y no "sitio web principal".
Solo tengo 1 sitio web y 1 tienda dentro de mi instancia de Magento y cada uno tiene una ID de 1
Mi código está abajo:
$customer = Mage::getModel("customer/customer");
$customer ->setWebsiteId(1)
->setStore(1)
->setFirstname('John')
->setLastname('Smith')
->setEmail('john@smith.com')
->setPassword('password')
->setGroupId('1');
try{
$customer->save();
}
catch (Exception $e) {
Zend_Debug::dump($e->getMessage());
}
Solución
en lugar de usar setStore()
, podría haber usado setStoreId()
$customer = Mage::getModel('customer/customer');
$email = 'john@smith.com';
$storeId = 1;
$website_id = Mage::getModel('core/store')->load($storeId)->getWebsiteId();
$customer->setWebsiteId($website_id);
$customer->setStoreId($storeId);
...
Otros consejos
Tienes un error con su código,
->setStore()
Lo anterior no requiere un valor entero para la ID de la tienda, se necesita una instancia de la tienda actual, por ejemplo.
->setStore(Mage::app()->getStore())
En su caso, me imagino que sería,
->setStore(Mage::getModel('core/store')->load(2));
Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange