Knowband Blog | Ecommerce Modules

Como criar programaticamente cliente em Magento?

O Magento é uma das plataformas de e-commerce mais flexíveis e utilizadas atualmente. Muitas vezes durante o nosso desenvolvimento, precisamos criar clientes através do nosso código. Por exemplo, se estamos desenvolvendo um plug-in Magento para conectar nossa loja Magento a mercados como Walmart, Etsy etc., então criamos um pedido para o cliente através de nosso código. Mas, para criar um pedido, precisamos criar um cliente se esse cliente não existir em nossa loja Magento. Podemos criar clientes em Magento simplesmente usando o seguinte código.

Código para criar um cliente no 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); tente {$ _newCustomer-> save (); } catch (Exceção $ e) {Mage :: getSingleton ('cliente / sessão') -> addException ($ e, $ this -> __ ('Erro na criação do cliente')); Mage :: logException ($ e); } <a href="https://www.knowband.com/blog/wp-content/uploads/2018/10/untitled-26.png"> <img class = "alignnone tamanho-médio wp-image-22306" src = "https://www.knowband.com/blog/wp-content/uploads/2018/10/untitled-26-300x48.png" alt = "criação-cliente-em-magento" width = "300" altura = "48" /> </a>

Mas esse cliente só tem informações básicas como nome, sobrenome, e-mail, etc. Não possui endereço de entrega ou faturamento. Podemos salvar informações completas de endereço do cliente através do seguinte código.

Código para salvar o endereço do cliente:

$ _website = Mage :: app (); getWebsite (); $ _customerEmail = 'demo@demo.com'; // E-mail do cliente $ _countryId = 'IN'; $ _postCode = '201301'; $ _city = 'Noida'; $ _telephone = '1111111111'; $ _fax = ''; $ _company = 'Velocity Software Solutions'; $ _street = ''; $ _customer = Mage :: getModel ('cliente / cliente') -> setWebsiteId ($ _ site ->; getId ()) -> loadByEmail ($ _ customerEmail); $ _customerAddress = Mage :: getModel ("cliente / endereço"); $ _customerAddress-> setCustomerId ($ _ customer-> getId ()) -> setname ($ _ customer-> getFirstname ()) -> setMiddleName ($ _ customer-> getMiddlename ()) -> setLastname ($ _ cliente-> getLastname ()) -> setCountryId ($ _ countryId) -> setPostcode ($ _ postCode) -> setCity ($ _ cidade) -> setTelephone ($ _ telefone) -> setFax ($ _ fax) -> setCompany ($ _ empresa) -> setStreet ($ _ street) - > setIsDefaultBilling ('1') -> setIsDefaultShipping ('1') -> setSaveInAddressBook ('1'); tente {$ _customerAddress-> save (); } catch (Exceção $ e) {Mage :: getSingleton ('cliente / sessão') -> addException ($ e, $ this -> __ ('Erro ao salvar endereço do cliente.')); Mage :: logException ($ e); } <a href="https://www.knowband.com/blog/wp-content/uploads/2018/10/untitled-27.png"> <img class = "alignnone tamanho-médio wp-image-22308" src = "https://www.knowband.com/blog/wp-content/uploads/2018/10/untitled-27-300x133.png" alt = "salvar endereço-do-cliente" width = "300" altura = "133" /> </a>

Agora as informações do endereço do cliente estão completas. Espero que o código acima mencionado ajude você a adicionar um novo cliente à sua loja Magento.