Preciso permitir que os usuários criem uma imagem de personalização na página do produto e anexá-la ao produto quando os usuários adicionam o produto ao carrinho.
Criar um tipo de opção de produto personalizado parece ser muito complicado.
Penso que a solução mais simples é personalizar o modelo do produto, adicionando o construtor de imagens e, em seguida, adicionar a imagem gerada nas opções do produto através de um observador que pega a imagem da solicitação e a coloca nas opções do produto.
Eu sou novo em magento, poderia ser a solução certa? Como posso implementar? Eu sou capaz de criar um módulo.
magento2
cart
custom-options
addtocart
attachment
Alessandro Paterno
fonte
fonte
Respostas:
Você pode usar o evento
checkout_cart_product_add_after
para modificar as informações da imagem do produto.Primeiramente, na página de detalhes do produto, você precisa adicionar um campo oculto no formulário Adicionar ao carrinho, algo como:
E usando javascript, adicione o valor ao campo para o URL da imagem gerada pelo usuário, esse valor será salvo nas
info_buyRequest
opções do item de cotaçãoTemos que criar o arquivo
app/code/Foo/CustomImage/etc/events.xml
para anexar observadores aos eventos:Agora, para a lógica do observador, criamos um arquivo em
app/code/Foo/CustomImage/Model/Observer/SetImageForItem.php
Não testei o código, mas devo ajudá-lo a adicionar novos dados à sua opção de produto.
fonte
Eu estava tendo um problema semelhante e resolvi a parte de mostrar outra imagem como esta. cuidado: pode haver erros, se a proporção / tamanho da imagem real do produto do back-end diferir da imagem personalizada.
di.xml
RendererPlugin.php
fonte