En un proyecto reciente, hemos tenido que migrar una base de datos de más de 20K clientes desde una plataforma de comercio electrónico antigua y obsoleta.
Para ello hemos tenido que programar un script a medida que se conecta con el sistema antiguo y vuelca los datos de los clientes, preservando datos generales y direcciones de envío y configuración.
Para crear un cliente en Magento de forma programada, podéis utilizar el siguiente código:
// Necesitamos una instancia del store al que vamos a asociar el cliente $store = Mage::getModel('core/store')->load($storeId); // Creamos la instancia de cliente $customer = Mage::getModel('customer/customer'); // Asignamos datos $customer ->setWebsiteId(<id_website_al_que_asociar_cliente>); $customer ->setStore($store); $customer ->setFirstname(<nombre_cliente>); $customer ->setLastname(<apellidos_cliente>); $customer ->setEmail(<email_cliente>); $customer ->setGroupId(<id_grupo_de_cliente>); $customer ->setPassword(<password_del_cliente_si_es_conocodo>); // Guardamos el cliente try{ $customer ->save(); } catch (Exception $e) { Zend_Debug::dump($e->getMessage()); }
La contraseña del cliente, como podéis suponer, a veces no está disponible sin cifrar, y por tanto necesitaremos asignar una contraseña aleatoria y forzar a los usuarios a realizar la restauración de su contraseña.
Hey! Qué opinas sobre el artículo?