Preciso criar um cliente programaticamente no Magento 2, não encontrei muita documentação por aí ... basicamente, o que preciso fazer é traduzir o seguinte código em "Magento 2":
$websiteId = Mage::app()->getWebsite()->getId();
$store = Mage::app()->getStore();
$customer = Mage::getModel("customer/customer");
$customer ->setWebsiteId($websiteId)
->setStore($store)
->setFirstname('John')
->setLastname('Doe')
->setEmail('[email protected]')
->setPassword('somepassword');
try{
$customer->save();
}
magento-2.0
Eduardo
fonte
fonte
Respostas:
Ok, depois de um tempo eu encontrei uma solução, caso alguém mais precisasse dela. O Magento usa outra abordagem para instanciar objetos, a maneira tradicional de instanciar objetos no Magento 1.x era usando "Mage :: getModel (..)", isso mudaram no Magento 2. Agora, o Magento usa um gerenciador de objetos para instanciar objetos, não entrarei em detalhes sobre como ele funciona .. então, o código equivalente para criar clientes no Magento 2 ficaria assim:
Espero que este trecho de código ajude outra pessoa ..
fonte
Aqui está uma maneira simples de criar um novo cliente com grupo padrão e loja atual.
fonte
Este código é executado no arquivo externo ou no arquivo de console CLI Magento
fonte
Todos os exemplos acima funcionarão, mas a maneira padrão sempre deve ser o uso de contratos de serviço do que as classes concretas.
Portanto, as formas abaixo devem ser preferidas para criar o cliente programaticamente.
fonte