michel1973 Posted June 23, 2014 Share Posted June 23, 2014 Prezados amigos, gostaria de saber se existe algum módulo que valida o cep com auto preenchimento do endereço. Estou usando o módulo grátis FKcorreios 2014 Lite ele é para o cálculo dos correio antes mensmo da finalização da compra porém ele não valida o cep, Desde já agradeço a atenção e ajuda. Link to comment Share on other sites More sharing options...
ilsonfuzinatto Posted October 4, 2014 Share Posted October 4, 2014 Prezados amigos, gostaria de saber se existe algum módulo que valida o cep com auto preenchimento do endereço. Estou usando o módulo grátis FKcorreios 2014 Lite ele é para o cálculo dos correio antes mensmo da finalização da compra porém ele não valida o cep, Desde já agradeço a atenção e ajuda. Olha depois de procurar muito um módulo dessa natureza, eu encontrei uma saída, esse deu certo para o prestashop 1.6. A solução foi acrescentar o código que se refere ao cadastramento ou alteração de endereço. Vamos lá. Primeiro você procura o arquivo address.tpl, localizado em \themes\default-bootstrap. Abra o arquivo e logo no inicio cole esse código. <script> function consultacep(postcode){ postcode = postcode.replace(/\D/g,"") url="http://cep.correiocontrol.com.br/"+postcode+".js" s=document.createElement('script') s.setAttribute('charset','utf-8') s.src=url document.querySelector('head').appendChild(s) } function correiocontrolcep(valor){ if (valor.erro) { alert('Cep não encontrado'); return; }; document.getElementById('address1').value=valor.logradouro document.getElementById('address2').value=valor.bairro document.getElementById('city').value=valor.localidade document.getElementById('State').value=valor.uf } </script> Depois procure a linha {if $field_name eq 'postcode'} Logo abaixo você vai encontrar essa linha <input class="is_required validate form-control" data-validate="{$address_validation.$field_name.validate}" type="text" id="postcode" name="postcode" value="{if isset($smarty.post.postcode)}{$smarty.post.postcode}{else}{if isset($address->postcode)}{$address->postcode|escape:'html':'UTF-8'}{/if}{/if}" maxlength=9 onblur="consultacep(this.value)"/> Acrescente a seguinte informação em vermelho. O maxlength irá limitar a quantidade de caracteres em 9, podendo o usuário digitar no formato 99111000 ou 99111-000, os dois serão aceitos e validados sem problemas. O consultacep é só para chamar a função colocada no inicio desse arquivo. Esse código consulta e busca um banco de dados em http://cep.correiocontrol.com.br/ Esse site API de integração para essa natureza, esse código encontrei lá e fiz todas as modificações para que funcionasse no prestashop 1.6 Isso irá resolver o seu problema. Ah outra informação, o CEP geralmente fica logo abaixo do endereço, e para corrigir você deve acessar o Seu BO, e modificar a ordem, no qual você pretende que a apareça os campos. Acesse Localização --> Países Procure pelo seu País (BRAZIL) Depois clique em editar Coloque na ordem conforme imagem. Clique aqui e veja a imagem Bem para mim resolveu. http://torneirasonline.com/ [email protected] ILSON Link to comment Share on other sites More sharing options...
Sam Oliveira Posted October 13, 2014 Share Posted October 13, 2014 Olá Ilson! Fiz o que você recomendou e não consegui fazer funcionar na minha loja. Uso a ultima versão do presta. Consegui mover o campo CEP para cima do campo endereços, mas validar e auto-completar não deu certo. Alguma dica? Obrigado! Link to comment Share on other sites More sharing options...
ilsonfuzinatto Posted October 13, 2014 Share Posted October 13, 2014 Qual a versão do seu prestashop? Olá Ilson! Fiz o que você recomendou e não consegui fazer funcionar na minha loja. Uso a ultima versão do presta. Consegui mover o campo CEP para cima do campo endereços, mas validar e auto-completar não deu certo. Alguma dica? Obrigado! Qual a versão do seu Prestashop? Link to comment Share on other sites More sharing options...
Sam Oliveira Posted October 13, 2014 Share Posted October 13, 2014 PrestaShop 1.6.0.9 Link to comment Share on other sites More sharing options...
ilsonfuzinatto Posted October 13, 2014 Share Posted October 13, 2014 Baixa o arquivo http://torneirasonline.com/loja2/themes/default-bootstrap/address.tpl.zip Depois suba para sua pasta, e substitua o seu por esse. Mas primeiro faça um backup do seu arquivo caso de errado a alteração, para poder restaurar. Talvez isso de certo! Qualquer dúvida me manda um e-mail [email protected] Att Ilson 1 Link to comment Share on other sites More sharing options...
Sam Oliveira Posted October 13, 2014 Share Posted October 13, 2014 Show! Vou testar! Obrigado! Link to comment Share on other sites More sharing options...
ilsonfuzinatto Posted October 13, 2014 Share Posted October 13, 2014 De nada, depois me fale se deu certo, alias o meu prestashop é o 1.6.0.6. Não sei se isso influencia. Link to comment Share on other sites More sharing options...
Sam Oliveira Posted October 13, 2014 Share Posted October 13, 2014 Não funcionou! Será que tem habilitar ou desabilitar algo no BO? Eu uso o modulo FK correios Link to comment Share on other sites More sharing options...
ilsonfuzinatto Posted October 13, 2014 Share Posted October 13, 2014 Eu também uso o fk correios, não é isso não. No seu BO conforme a tela em anexo me diga se esta que nem a minha. Link to comment Share on other sites More sharing options...
Sam Oliveira Posted October 13, 2014 Share Posted October 13, 2014 Está igual a sua. tudo off Link to comment Share on other sites More sharing options...
ilsonfuzinatto Posted October 13, 2014 Share Posted October 13, 2014 (edited) Qual é o seu site, para fazer um cadastro teste, para poder ver melhor. Edited October 13, 2014 by ilsonfuzinatto (see edit history) Link to comment Share on other sites More sharing options...
Sam Oliveira Posted October 13, 2014 Share Posted October 13, 2014 www.brazuca55.com/loja/ me passa o teu IP para liberar. loja em manutenção Link to comment Share on other sites More sharing options...
Sam Oliveira Posted October 13, 2014 Share Posted October 13, 2014 Já liberei, não precisa do IP Link to comment Share on other sites More sharing options...
ilsonfuzinatto Posted October 13, 2014 Share Posted October 13, 2014 Meu ip é 200.181.178.14 Estou criando um módulo simples só para carregar os comando javascript, antecipadamente, para ver se é isso, logo que tiver proto disponibilizo aqui. Link to comment Share on other sites More sharing options...
Sam Oliveira Posted October 13, 2014 Share Posted October 13, 2014 Ok! Fico no aguardo!conseguiu acessar a loja? Link to comment Share on other sites More sharing options...
ilsonfuzinatto Posted October 13, 2014 Share Posted October 13, 2014 Qual é o seu servidor estou tentando criar uma conta, e demora muito. Olha o erro que deu. Erro do Servidor InternoO servidor encontrou um erro interno ou errada e não pôde concluir o seu pedido. Entre em contato com o administrador do servidor, [email protected] e informá-los sobre o tempo que o erro ocorreu, e qualquer coisa que você poderia ter feito que pode ter causado o erro. Mais informações sobre este erro pode estar disponível no log de erro do servidor. Além disso, um erro 404 não encontrado foi encontrado ao tentar usar um ErrorDocument para manipular a solicitação. Link to comment Share on other sites More sharing options...
Sam Oliveira Posted October 13, 2014 Share Posted October 13, 2014 Uso Dreamhost Link to comment Share on other sites More sharing options...
ilsonfuzinatto Posted October 13, 2014 Share Posted October 13, 2014 Você colocou a loja novamente em manutenção não deu tempo de criar a conta. Link to comment Share on other sites More sharing options...
Sam Oliveira Posted October 13, 2014 Share Posted October 13, 2014 Tente criar novamente. salvei a liberação... já volto! Link to comment Share on other sites More sharing options...
ilsonfuzinatto Posted October 14, 2014 Share Posted October 14, 2014 (edited) Encontrei uma solução, que pode lhe ajudar, retire as seguintes linhas de comando abaixo, do arquivo address.tpl: <script> function consultacep(postcode){ postcode = postcode.replace(/\D/g,"") url="http://cep.correiocontrol.com.br/"+postcode+".js" s=document.createElement('script') s.setAttribute('charset','utf-8') s.src=url document.querySelector('head').appendChild(s) } function correiocontrolcep(valor){ if (valor.erro) { alert('Cep n達o encontrado'); return; }; document.getElementById('address1').value=valor.logradouro document.getElementById('address2').value=valor.bairro document.getElementById('city').value=valor.localidade document.getElementById('State').value=valor.uf } </script> Cole essas linhas no seguinte arquivo. abra o arquivo javascript.tpl localizado na pasta /themes/ Logo no inicio cole essas linhas de comando, pelo que percebi ele carrega mais rapidamente os arquivos. Depois me dá um Ok se deu certo. Edited October 14, 2014 by ilsonfuzinatto (see edit history) Link to comment Share on other sites More sharing options...
Sam Oliveira Posted October 14, 2014 Share Posted October 14, 2014 Poxa, não funcionou. O que será heim??? Link to comment Share on other sites More sharing options...
ilsonfuzinatto Posted October 14, 2014 Share Posted October 14, 2014 Acabei de testar no seu cite e deu certo, olha quando você digita o cep, pressiona o tab e espera uns dois segundos que ele completa. Da uma olha e veja em outro teste. Link to comment Share on other sites More sharing options...
Sam Oliveira Posted October 14, 2014 Share Posted October 14, 2014 (edited) Putz, aqui não está funcionando. será que tenho que limpar o cache ou algo assim? Estou num mac, no firefox mais atual. Edited October 14, 2014 by Sam Oliveira (see edit history) Link to comment Share on other sites More sharing options...
ilsonfuzinatto Posted October 14, 2014 Share Posted October 14, 2014 Faz isso, e usa o Database Cleaner, do prestashop para fazer uma limpeza e correção de banco de dados e depois, limpa o seu navegador, mas cuidado existe uma opção de limpar pedidos e cadastro de clientes, seja cuidadoso esta em inglês e são as duas primeiras opções, pelo menos no meu, nessa duas primeiras eu nunca mexo. Link to comment Share on other sites More sharing options...
Sam Oliveira Posted October 14, 2014 Share Posted October 14, 2014 Vou testar! Onde acho o Database cleaner? Link to comment Share on other sites More sharing options...
Sam Oliveira Posted October 14, 2014 Share Posted October 14, 2014 Achei o modulo Database cleaner, instalei e cliquei na última opção (o meu está em pt-BR) , fiz todo o procedimento e nada. Que zica braba! Link to comment Share on other sites More sharing options...
Sam Oliveira Posted October 14, 2014 Share Posted October 14, 2014 (edited) Instalei o modulo de CPF que me enviou e funcionou muito bem. Obrigado! Dai, testei várias vezes o CEP e ainda não funcionou. Desabilitei o seu módulo de CPF e instalei o módulo CPFModule, conhece? O CPFModule funcionou muito bem, inclusive o CEP auto-complete, só que o layout e avisos dos campos é bem caído (fora do padrão do presta) e o RG é um campo obrigatório. segue o CPFModule para baixar: http://www.prestashop.com/forums/index.php?app=core&module=attach§ion=attach&attach_id=104539 Deixei o CPFmodule habilitado na loja para vc ver funcionando. O ideal seria habilitar o módulo de CPF que me enviou. Está funcionando aqui. E conseguir fazer funcionar a sua dica do CEP auto-complete. Contigo funcionou, mas não sei pq aqui ainda não rolou. Edited October 14, 2014 by Sam Oliveira (see edit history) Link to comment Share on other sites More sharing options...
matfonseca Posted October 23, 2014 Share Posted October 23, 2014 Achei o modulo Database cleaner, instalei e cliquei na última opção (o meu está em pt-BR) , fiz todo o procedimento e nada. Que zica braba! Como você fez para deixar o zoom da sua loja daquele jeito? Link to comment Share on other sites More sharing options...
Sam Oliveira Posted October 24, 2014 Share Posted October 24, 2014 (edited) MatFonseca, Dentro da Administração BO, vá em: Preferências > Produtos > Página do Produto Marque como SIM a opção: Permitir JqZoom ao invez do Thickbox na página do produto. Dê uma olhada no video abaixo (não é a versão mais atual do Presta, mas dá pra ter uma noção). Abs!!! Edited October 24, 2014 by Sam Oliveira (see edit history) 2 Link to comment Share on other sites More sharing options...
hrq1 Posted November 11, 2014 Share Posted November 11, 2014 Acabei de testar no seu cite e deu certo, olha quando você digita o cep, pressiona o tab e espera uns dois segundos que ele completa. Da uma olha e veja em outro teste. Consegue me ajuda a melhora o meu site? lehstore.com.br Link to comment Share on other sites More sharing options...
hrq1 Posted November 12, 2014 Share Posted November 12, 2014 Acho que consegui fazer funcionar o auto preenchimento! Vejam: www.lehstore.com.br Link to comment Share on other sites More sharing options...
hrq1 Posted November 18, 2014 Share Posted November 18, 2014 So mais uma duvida.. tem como autopreencher o estado? Link to comment Share on other sites More sharing options...
ilsonfuzinatto Posted November 18, 2014 Share Posted November 18, 2014 Sim só não tive tempo para olhar como fazer. Quando eu modificar comunico aqui. Link to comment Share on other sites More sharing options...
patrickcabral Posted December 30, 2014 Share Posted December 30, 2014 Esta solução funciona se seu site não usa HTTPS, se sim, vc terá que mudar a url de request. Achei um serviço gratis de CEP que tem HTTPS, fiz os ajustes aqui e funcionou, porem o problema esta no Estado ... vou ver se consigo ajustar. function consultacep(postcode){ postcode = postcode.replace(/\D/g,"") url="https://apps.widenet.com.br/busca-cep/api/cep/"+postcode+".js" s=document.createElement('script') s.setAttribute('charset','utf-8') s.src=url document.querySelector('head').appendChild(s) } function define_cep_info(valor){ if (valor.status==0) { alert(valor.message); return; }; document.getElementById('address1').value=valor.address document.getElementById('address2').value=valor.district document.getElementById('city').value=valor.city document.getElementById('State').value=valor.state } Link to comment Share on other sites More sharing options...
patrickcabral Posted December 30, 2014 Share Posted December 30, 2014 Agora com preenchimento do Estado. A solução foi rápida e precisa (com certeza) ser refeita, porem quebra o galho temporariamente. Pra pegar a lista de estados do seu banco de dados (trocar o 58 para ID do Brasil): select CONCAT('br_state[\'',iso_code,'\']=',id_state,';') from ps_state WHERE `id_country` = 58 Javascript ajustado function consultacep(postcode){ postcode = postcode.replace(/\D/g,"") url="https://apps.widenet.com.br/busca-cep/api/cep/"+postcode+".js" s=document.createElement('script') s.setAttribute('charset','utf-8') s.src=url document.querySelector('head').appendChild(s) } function define_cep_info(valor){ if (valor.status==0) { alert(valor.message); return; }; var br_state = new Array(); br_state['AC']=313; br_state['AL']=314; br_state['AP']=315; br_state['AM']=316; br_state['BA']=317; br_state['CE']=318; br_state['DF']=319; br_state['ES']=320; br_state['GO']=321; br_state['MA']=322; br_state['MT']=323; br_state['MS']=324; br_state['MG']=325; br_state['PA']=326; br_state['PB']=327; br_state['PR']=328; br_state['PE']=329; br_state['PI']=330; br_state['RJ']=331; br_state['RN']=332; br_state['RS']=333; br_state['RO']=334; br_state['RR']=335; br_state['SC']=336; br_state['SP']=337; document.getElementById('address1').value=valor.address; document.getElementById('address2').value=valor.district; document.getElementById('city').value=valor.city; $('#id_state').val(br_state[valor.state]); $('#id_state').prev().html($('#id_state :selected').text()); } Link to comment Share on other sites More sharing options...
thalesam Posted January 22, 2015 Share Posted January 22, 2015 Pessoal tenho uma solução para vocês. Caso tenham interesse me enviem um email: [email protected] Link to comment Share on other sites More sharing options...
m@teus Posted April 7, 2015 Share Posted April 7, 2015 Olá Sam Oliveira, Não sei ainda precisa disso, mas pra resolver creio que vc precisa ir em PARÂMETROS AVANÇADOS -> DESEMPENHO e colocar a Compilação do Template como: "Modelos de recompilar se os arquivos foram atualizados", se não seu template nunca será atualizado e o <script> do ilsonfuzinatto (funcionando corretamente), não irá aparecer. Link to comment Share on other sites More sharing options...
João Cason Posted October 5, 2015 Share Posted October 5, 2015 Olha depois de procurar muito um módulo dessa natureza, eu encontrei uma saída, esse deu certo para o prestashop 1.6. A solução foi acrescentar o código que se refere ao cadastramento ou alteração de endereço. Vamos lá. Primeiro você procura o arquivo address.tpl, localizado em \themes\default-bootstrap. Abra o arquivo e logo no inicio cole esse código. <script> function consultacep(postcode){ postcode = postcode.replace(/\D/g,"") url="http://cep.correiocontrol.com.br/"+postcode+".js" s=document.createElement('script') s.setAttribute('charset','utf-8') s.src=url document.querySelector('head').appendChild(s) } function correiocontrolcep(valor){ if (valor.erro) { alert('Cep não encontrado'); return; }; document.getElementById('address1').value=valor.logradouro document.getElementById('address2').value=valor.bairro document.getElementById('city').value=valor.localidade document.getElementById('State').value=valor.uf } </script> Depois procure a linha {if $field_name eq 'postcode'} Logo abaixo você vai encontrar essa linha <input class="is_required validate form-control" data-validate="{$address_validation.$field_name.validate}" type="text" id="postcode" name="postcode" value="{if isset($smarty.post.postcode)}{$smarty.post.postcode}{else}{if isset($address->postcode)}{$address->postcode|escape:'html':'UTF-8'}{/if}{/if}" maxlength=9 onblur="consultacep(this.value)"/> Acrescente a seguinte informação em vermelho. O maxlength irá limitar a quantidade de caracteres em 9, podendo o usuário digitar no formato 99111000 ou 99111-000, os dois serão aceitos e validados sem problemas. O consultacep é só para chamar a função colocada no inicio desse arquivo. Esse código consulta e busca um banco de dados em http://cep.correiocontrol.com.br/ Esse site API de integração para essa natureza, esse código encontrei lá e fiz todas as modificações para que funcionasse no prestashop 1.6 Isso irá resolver o seu problema. Ah outra informação, o CEP geralmente fica logo abaixo do endereço, e para corrigir você deve acessar o Seu BO, e modificar a ordem, no qual você pretende que a apareça os campos. Acesse Localização --> Países Procure pelo seu País (BRAZIL) Depois clique em editar Coloque na ordem conforme imagem. Clique aqui e veja a imagem Bem para mim resolveu. http://torneirasonline.com/ [email protected] ILSON Funcionou perfeitamente aqui, eu fiz e ainda por cima adicionei o campo de Número na loja para obrigar o usuário a digitá-lo Obrigado!!! Minha versão: 1.6.1.1 Link to comment Share on other sites More sharing options...
Recommended Posts