¿Cómo crear un cliente programáticamente en Magento?

Magento es una de las plataformas de comercio electrónico más flexibles y más utilizadas en la actualidad. Muchas veces durante nuestro desarrollo necesitamos crear clientes a través de nuestro código. Por ejemplo, si estamos desarrollando un complemento de Magento para conectar nuestra tienda Magento a mercados como Walmart, Etsy, etc., creamos un pedido para el cliente a través de nuestro código. Pero para crear un pedido, necesitamos crear un cliente si ese cliente no existe en nuestra tienda Magento. Podemos crear clientes en Magento simplemente usando el siguiente código.

Código para crear un cliente en Magento:

$ _website = Mage :: app () -> getWebsite () -> getId (); $ store = Mage :: app () -> getStore (); $ _firstName = 'Jhon'; $ _lastName = 'Doe'; $ _customerEmail = 'demo@demo.com'; $ _customerPassword = '#KnowbandPlugins'; $ _newCustomer = Mage :: getModel ("cliente / cliente"); $ _newCustomer-> setWebsiteId ($ _ website) -> setStore ($ store) -> setFirstname ($ _ firstName) -> setLastname ($ _ lastName) -> setEmail ($ _ customerEmail) -> setPassword ($ _ customerPassword); intente {$ _newCustomer-> save (); } catch (Exception $ e) {Mage :: getSingleton ('customer / session') -> addException ($ e, $ this -> __ ('Error al crear cliente')); Mage :: logException ($ e); } <a href="https://www.knowband.com/blog/wp-content/uploads/2018/10/untitled-26.png"> <img class = "alignnone size-medium wp-image-22306" src = "https://www.knowband.com/blog/wp-content/uploads/2018/10/untitled-26-300x48.png" alt = "creating-customer-in-magento" width = "300" height = "48" /> </a>

Pero este cliente solo tiene información muy básica como nombre, apellido, correo electrónico, etc. No tiene dirección de envío ni de facturación. Podemos guardar la información completa de la dirección del cliente a través del siguiente código.

Código para guardar la dirección del cliente:

$ _website = Mage :: app (); getWebsite (); $ _customerEmail = 'demo@demo.com'; // Correo electrónico del cliente $ _countryId = 'IN'; $ _postCode = '201301'; $ _city = 'Noida'; $ _telephone = '1111111111'; $ _fax = ''; $ _company = 'Velocity Software Solutions'; $ _street = ''; $ _customer = Mage :: getModel ('cliente / cliente') -> setWebsiteId ($ _ website ->; getId ()) -> loadByEmail ($ _ customerEmail); $ _customerAddress = Mage :: getModel ("customer / address"); $ _customerAddress-> setCustomerId ($ _ customer-> getId ()) -> setFirstname ($ _ customer-> getFirstname ()) -> setMiddleName ($ _ customer-> getMiddlename ()) -> setLastname ($ _ customer-> getLastname ()) -> setCountryId ($ _ countryId) -> setPostcode ($ _ postCode) -> setCity ($ _ city) -> setTelephone ($ _ telephone) -> setFax ($ _ fax) -> setCompany ($ _ company) -> setStreet ($ _ street) - > setIsDefaultBilling ('1') -> setIsDefaultShipping ('1') -> setSaveInAddressBook ('1'); intente {$ _customerAddress-> save (); } catch (Exception $ e) {Mage :: getSingleton ('customer / session') -> addException ($ e, $ this -> __ ('Error al guardar la dirección del cliente.')); Mage :: logException ($ e); } <a href="https://www.knowband.com/blog/wp-content/uploads/2018/10/untitled-27.png"> <img class = "alignnone size-medium wp-image-22308" src = "https://www.knowband.com/blog/wp-content/uploads/2018/10/untitled-27-300x133.png" alt = "saving-address-of-customer" width = "300" height = "133" /> </a>

Ahora la información de la dirección del cliente está completa. Espero que el código mencionado lo ayude a agregar un nuevo cliente a su tienda Magento.


Prashant Kumar

Prashant Kumar

Prashant is a passionate Magento developer. He loves exploring e-commerce and reading books.

Leave a Reply

Your email address will not be published. Required fields are marked *