¿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 = '[email protected]'; $ _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 = '[email protected]'; // 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.
- El mejor módulo SEO para PrestaShop: 10 funciones imprescindibles para mejorar el posicionamiento.
- Tres correos electrónicos de recuperación recuperan un 37 % más de carritos abandonados que uno solo: Cómo crear la secuencia adecuada de carritos abandonados en PrestaShop
- AuctionX – Manual de usuario completo del módulo de subastas de PrestaShop
- Cómo crear un blog optimizado para SEO en PrestaShop: una guía práctica sobre contenido, SEO y búsqueda con IA.
- PrestaShop 9.2 Ask AI vs AI Admin Assistant: ¿cuál es mejor para gestionar tu tienda?