APLICAR CEP AUTOCOMPLETE

De Tek-System Wiki
Ir para navegação Ir para pesquisar

Autocompletar o endereco automaticamente apos preenchimento do cep

1) Vá até

 vendor/experius/module-addresslines/view/frontend/templates/expirius/customer/form/register.phtml
 

Coloque o código no final de todos os formulários e depois do javascript padrão.


    <!-- Adicionando Javascript -->
    <script type="text/javascript" >
    
    function limpaFormularioCep() {
            //Limpa valores do formulário de cep.
            document.getElementById('street_1').value=("");
            document.getElementById('street_3').value=("");
            document.getElementById('city').value=("");
            document.getElementById('region_id').value=("");
    }
    function meu_callback(conteudo) {
        if (!("erro" in conteudo)) {
            //Atualiza os campos com os valores.
            document.getElementById('street_1').value=(conteudo.logradouro);
            document.getElementById('street_3').value=(conteudo.bairro);
            document.getElementById('city').value=(conteudo.localidade);
            converteUFemPadraoValueDoMagento(conteudo.uf);
            //document.getElementById('region_id').value=(conteudo.uf);
        } //end if.
        else {
            //CEP não Encontrado.
            limpaFormularioCep();
            alert("CEP não encontrado.");
        }
    }
    function converteUFemPadraoValueDoMagento(cep){
            switch(cep) {
                case 'AC':
                    document.getElementById('region_id').value='485';
                    break;
                case 'AL':
                    document.getElementById('region_id').value='486';
                    break;
                case 'AP':
                    document.getElementById('region_id').value='487';
                    break;
                case 'AM':
                    document.getElementById('region_id').value='488';
                    break;
                case 'BA':
                    document.getElementById('region_id').value='489';
                    break;
                case 'CE':
                    document.getElementById('region_id').value='490';
                    break;
                case 'ES':
                    document.getElementById('region_id').value='491';
                    break;
                case 'GO':
                    document.getElementById('region_id').value='492';
                    break;
                case 'MA':
                    document.getElementById('region_id').value='493';
                    break;
                case 'MT':
                    document.getElementById('region_id').value='494';
                    break;
                case 'MS':
                    document.getElementById('region_id').value='495';
                    break;
                case 'MG':
                    document.getElementById('region_id').value='496';
                    break;
                case 'PA':
                    document.getElementById('region_id').value='497';
                    break;
                case 'PB':
                    document.getElementById('region_id').value='498';
                    break;
                case 'PR':
                    document.getElementById('region_id').value='499';
                    break;
                case 'PE':
                    document.getElementById('region_id').value='500';
                    break;
                case 'PI':
                    document.getElementById('region_id').value='501';
                    break;
                case 'RJ':
                    document.getElementById('region_id').value='502';
                    break;
                case 'RN':
                    document.getElementById('region_id').value='503';
                    break;
                case 'RS':
                    document.getElementById('region_id').value='504';
                    break;
                case 'RO':
                    document.getElementById('region_id').value='505';
                    break;
                case 'RR':
                    document.getElementById('region_id').value='506';
                    break;
                case 'SC':
                    document.getElementById('region_id').value='507';
                    break;
                case 'SP':
                    document.getElementById('region_id').value='508';
                    break;
                case 'SE':
                    document.getElementById('region_id').value='509';
                    break;
                case 'TO':
                    document.getElementById('region_id').value='510';
                    break;
                case 'DF':
                    document.getElementById('region_id').value='511';
            } 
    }
    function pesquisaCep(valor) {
        //Nova variável "cep" somente com dígitos.
        var cep = valor.replace(/\D/g, '');
        //Verifica se campo cep possui valor informado.
        if (cep != "") {
            //Expressão regular para validar o CEP.
            var validacep = /^[0-9]{8}$/;
            //Valida o formato do CEP.
            if(validacep.test(cep)) {
                //Preenche os campos com "..." enquanto consulta webservice.
                document.getElementById('street_1').value="...";
                document.getElementById('street_3').value="...";
                document.getElementById('city').value="...";
                document.getElementById('region_id').value="...";
                //Cria um elemento javascript.
                var script = document.createElement('script');
                //Sincroniza com o callback.
                script.src = 'https://viacep.com.br/ws/'+ cep + '/json/?callback=meu_callback';
                //Insere script no documento e carrega o conteúdo.
                document.body.appendChild(script);
            } //end if.
            else {
                //cep é inválido.
                limpaFormularioCep();
                alert("Formato de CEP inválido.");
            }
        } //end if.
        else {
            //cep sem valor, limpa formulário.
            limpaFormularioCep();
        }
    };
    document.getElementById("zip").onblur = function() {pesquisaCep(document.getElementById("zip").value)}; // zip eh o nome do cep padrao do magento
    </script>

 

O CODIGO IRA AUTOCOMPLETAR AUTOMATICAMENTE APOS ESTA CONFIGURAÇÃO.

NÃO ESQUEÇA DE INDEXER:REINDEX CLEAN E FLUSH!!!!