Mudanças entre as edições de "APLICAR CEP AUTOCOMPLETE"

De Tek-System Wiki
Ir para navegação Ir para pesquisar
(Criou página com 'Autocompletar o endereco automaticamente apos preenchimento do cep 1) Vá até <div style="background-color: #EEE;padding:1em"> vendor/experius/module-addresslines/view/fro...')
 
Linha 19: Linha 19:
             document.getElementById('region_id').value=("");
             document.getElementById('region_id').value=("");
     }
     }
     function meu_callback(conteudo) {
     function meu_callback(conteudo) {
         if (!("erro" in conteudo)) {
         if (!("erro" in conteudo)) {
Linha 35: Linha 34:
         }
         }
     }
     }
     function converteUFemPadraoValueDoMagento(cep){
     function converteUFemPadraoValueDoMagento(cep){
             switch(cep) {
             switch(cep) {
                 case 'AC':
                 case 'AC':
Linha 122: Linha 118:
             }  
             }  
     }
     }
     function pesquisaCep(valor) {
     function pesquisaCep(valor) {
         //Nova variável "cep" somente com dígitos.
         //Nova variável "cep" somente com dígitos.
         var cep = valor.replace(/\D/g, '');
         var cep = valor.replace(/\D/g, '');
         //Verifica se campo cep possui valor informado.
         //Verifica se campo cep possui valor informado.
         if (cep != "") {
         if (cep != "") {
             //Expressão regular para validar o CEP.
             //Expressão regular para validar o CEP.
             var validacep = /^[0-9]{8}$/;
             var validacep = /^[0-9]{8}$/;
             //Valida o formato do CEP.
             //Valida o formato do CEP.
             if(validacep.test(cep)) {
             if(validacep.test(cep)) {
                 //Preenche os campos com "..." enquanto consulta webservice.
                 //Preenche os campos com "..." enquanto consulta webservice.
                 document.getElementById('street_1').value="...";
                 document.getElementById('street_1').value="...";
Linha 142: Linha 132:
                 document.getElementById('city').value="...";
                 document.getElementById('city').value="...";
                 document.getElementById('region_id').value="...";
                 document.getElementById('region_id').value="...";
                 //Cria um elemento javascript.
                 //Cria um elemento javascript.
                 var script = document.createElement('script');
                 var script = document.createElement('script');
                 //Sincroniza com o callback.
                 //Sincroniza com o callback.
                 script.src = 'https://viacep.com.br/ws/'+ cep + '/json/?callback=meu_callback';
                 script.src = 'https://viacep.com.br/ws/'+ cep + '/json/?callback=meu_callback';
                 //Insere script no documento e carrega o conteúdo.
                 //Insere script no documento e carrega o conteúdo.
                 document.body.appendChild(script);
                 document.body.appendChild(script);
             } //end if.
             } //end if.
             else {
             else {
Linha 164: Linha 150:
         }
         }
     };
     };
     document.getElementById("zip").onblur = function() {pesquisaCep(document.getElementById("zip").value)}; // zip eh o nome do cep padrao do magento
     document.getElementById("zip").onblur = function() {pesquisaCep(document.getElementById("zip").value)}; // zip eh o nome do cep padrao do magento
     </script>
     </script>



Edição das 19h31min de 21 de fevereiro de 2018

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.

   <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!!!!