Estou tentando criar um produto com dois campos de texto personalizados: Comprimento e Largura. Quando o usuário digita comprimento e largura, o preço precisa ser calculado por meio de fórmula personalizada.
Estou tentando encontrar o evento correto para conectar um observador - alguém sabe o que pode ser?
Aqui está o que eu sei e tentei
1) a caixa de texto do campo personalizado na visualização do produto possui um evento onchange que eu ainda não descobri como acessar através de um evento observador - "opConfig.reloadPrice ()
2) Se eu criar um observador no evento sales_quote_add_item, posso alterar o preço por fórmula quando ele for adicionado ao carrinho. Com esse método, ainda preciso de uma maneira de alterá-lo na visualização do produto antes de adicioná-lo ao carrinho.
3) Tentei também o evento catalog_product_get_final_price, mas este parece acionar apenas quando a página do produto é carregada; portanto, após a adição do comprimento ou largura do produto, ele não é acionado novamente.
Todas as idéias seriam muito apreciadas!
fonte
Respostas:
Eu usei para este caso de uso
sales_quote_collect_totals_before
:No lado do cliente, você pode usar apenas algumas linhas de JS para atualizar o preço?
fonte
catalog_product_get_final_price
é o evento correto do lado do servidor, não é acionado apenas quando a página do produto é carregada, mas também quando o produto é adicionado ao carrinho. Nesse caso, você tem todas as opções personalizadas selecionadas disponíveis com:(Veja também: existe alguma maneira de o usuário definir o preço desejado personalizado maior que zero e continuar com o carrinho de qualquer produto? )
Recalcular o preço na página do produto é outro tópico e precisa de JavaScript.
reloadPrice
é a função correta para se conectar, eu a estenderia assim:fonte