elisei / full-checkout

Checkout Para Magento 2
28 stars 16 forks source link

Se fizer calculo de frete em checkout/cart o cep é armazenado e usado no formulário de checkout (entrega) porém sem as opções de bairro e cidade... #25

Closed redati closed 3 years ago

redati commented 3 years ago

Se fizer calculo de frete em checkout/cart o cep é armazenado e usado no formulário de checkout (entrega) porém sem as opções de bairro e cidade...

https://uploaddeimagens.com.br/images/003/093/447/full/Capturar2.JPG?1613866387

Como o cep é recuperado na página do checkout, o formulário de endereço de entrega não expande para rua, bairro.. deixando que o cliente avance para finalizar o pedido, mas o pedido não finaliza com erro "rua, cidade, bairro não preenchido"...

Estou vendo se posso resolver.

elisei commented 3 years ago

Olá @redati

Não foi possível reproduzir esse erro, conforme demonstro em: https://youtu.be/iF5GIk4MRyE

Chamo atenção que a própria disposição dos campos não é a gerada por nosso módulo, acredito que há um outro módulo em seu Magento gerando essa reescrita e mau funcionamento.

Sinta-se convidado a reabrir o issue fornecendo maiores detalhes de como reproduzi-lo.

redati commented 3 years ago

No momento eu deixei os campos sempre visíveis.

Ainda não consegui reproduzir corretamente o erro. Apenas algumas vezes ele apareceu em meus testes. Eu descobri em produção, com o hotjar, alguns clientes, 1 a cada 5 mais ou menos o campo de endereço ficou oculto e o cliente não conseguiu finalizar a compra.

Vou ver melhor como reproduzir, se eu consegui aviso.

Eu dei uma olhada em outros códigos de outros modulos , vi uns códigos "hack" pra evitar isso:

var existCondition = setInterval(function() { var postcod = $('.form-shipping-address [name*="postcode"]:nth-child(1)');

                if(postcod.val()) {
                    pesquisacepIw3(postcod.val());
                }

                if (postcod.length) {
                    clearInterval(existCondition);
                    postcod.keyup(function(){
                        $(this).val(mascaraCep($(this).val()));
                    });

                    postcod.attr('inputmode','numeric');
                    postcod.on('input', function(){
                    if($(this).val().length >= (8 + parseInt(is_mask_postcode))){
                        $('.form-shipping-address [name*="country_id"]').val('BR');
                        tipo_formulario = '.form-shipping-address';
                        pesquisacepIw3(postcod.val());
                        console.log(postcod.val());

                        $('.form-shipping-address [name*="country_id"]').trigger('change');
                    }
                    });
                }
            }, 100);

isso porque em alguns casos o postcod.val() inicia vazio quando usuário entra na página de chekcout.

.. em fim, depois vou investigar melhor.

Bom trabalho. Abç.

vcollina commented 3 years ago

Estou tendo esse problema com alguns clientes há algum tempo já também. Eu desabilitei o cálculo de frete no carrinho (display:none) em todos os campos e resolveu, mas uma ou outra pessoa ainda empaca nisso. Para reproduzir o erro, deve-se fazer o seguinte:

-Adicionar um produto ao carrinho -Ir para a tela de checkout -Digitar um CEP qualquer no FullCheckout -Selecionar uma transportadora (importante!) -Voltar para a tela do carrinho: nessa hora, o JS do magento vai recalcular o frete e vai zoar o CEP que está salvo. Mesmo com todos os campos ocultos, ele recalcula automático, não sei desabilitar isso -Voltar para o FullCheckout

Nessa hora, duas coisas ocorrem: 1) o campo de seleção de transportadoras fica bloqueado (se tem duas, o cliente não consegue escolher) e 2) A compra não finaliza

A solução é o cliente apagar o CEP e digitar novamente, dessa forma desbloqueia as transportadoras e a compra finaliza

Segue print dos campos de frete bloqueados. Quando está assim, não vai concluir a compra.

image

vcollina commented 3 years ago

@elisei por gentileza, consegue dar uma olhada nisso? Acredito que seja uma falha real, comigo acontece desde sempre

vcollina commented 3 years ago

Percebi aqui que se a pessoa já preencheu o endereço e depois volta para o site, adiciona ou troca algum produto no carrinho, o erro também acontece