Jump to content

[Tutorial] - Adicionando busca de CEP automatico no Admin


abobre

Recommended Posts

Boa noite amigos do PDH,

 

 esse é um dos meus primeiros tutoriais e tenho a agradecer ao PDH, pois desde o primeiro dia que conheci o fórum eu adquiri um aprendizado que não imaginava aprender.

 

Teve um outro tópico que o Edvan postou um link ensinando a adicionar um botão no admin para gerar uma senha quando cadastra o cliente, então eu peguei o seu código como exemplo e consegui montar essa função e espero que ajude os amigos, pois me ajudou bastante !

 

Vamos criar o arquivo BuscaCep.js e salvar em whmcs/admin

function Add_busca_cep() {
	var e = document.getElementsByName("postcode");
	var b = document.createElement("input");
	b.type    = "button";
	b.value   = "Buscar CEP";
	b.onclick = getEndereco;
	e[0].parentNode.appendChild(b);
}
function getEndereco() {
	var postcode = document.getElementsByName("postcode")[0].value;	
	if (postcode.length < 8 || postcode.length > 8){
		alert('Preencha o campo CEP corretamente');
	}
	else{	
	$.getScript("http://cep.republicavirtual.com.br/web_cep.php?formato=javascript&cep="+postcode, function(){					
	if (resultadoCEP["tipo_logradouro"] != '') {
		if (resultadoCEP["resultado"]) {
			document.getElementsByName("address1")[0].value = unescape(resultadoCEP["tipo_logradouro"]) + " " + unescape(resultadoCEP["logradouro"]);
			document.getElementsByName("customfield[8]")[0].value = unescape(resultadoCEP["bairro"]);
			document.getElementsByName("city")[0].value = unescape(resultadoCEP["cidade"]);
			}
		}		
	}
);
}
}
function addEvent(obj, evType, fn){
 if (obj.addEventListener){
   obj.addEventListener(evType, fn, false);
   return true;
 } else if (obj.attachEvent){
   var r = obj.attachEvent("on"+evType, fn);
   return r;
 } else {
   return false;
 }
}
addEvent(window,'load',Add_busca_cep);

Agora vamos incluir o script BuscaCep.js no template padrão, então vamos entrar em whmcs/admin/templates/blend/ e vamos editar o arquivo header.tpl e incluir o código:

<xxxx type="text/javascript" src="busca_cep.js"></script>

Obs.: Agora se houver uma atualização no WHCMS pode ocorrer de sobrepor o arquivo editado e você perder essa função, a minha solução foi duplicar o template e alterar o nome e usar esse template duplicado, com isso nos próximos updates você não vai perder essa função !

 

Eu acho que essa função também pode ser desenvolvida via hook, mas eu não entendi direito como programo via hook.

 

Obs: O código desenvolvido, teve como referencia o código do edvan postado em outro tópico !

 

 

 Abraços

Link to comment
Share on other sites

Se eu não me engano atualmente tem que se pagar para poder usar um banco atualizado, correto? (Por favor, me corrijam caso eu esteja errado...)

Em caso afirmativo, alguém sabe se existe um outro endereço para consulta que possua um banco mais atualizado?

Link to comment
Share on other sites

Se eu não me engano atualmente tem que se pagar para poder usar um banco atualizado, correto? (Por favor, me corrijam caso eu esteja errado...)

Em caso afirmativo, alguém sabe se existe um outro endereço para consulta que possua um banco mais atualizado?

 

 Eu estou usando normalmente, sem problemas !

Link to comment
Share on other sites

 Eu estou usando normalmente, sem problemas !

Sim abobre, funciona normalmente, mas a base a base deles está bem desatualizada, como informou o Renato Frota, ou seja, muitos CEPs aparecerão errados ou inexistentes, o que é uma pena...

Link to comment
Share on other sites

Sim abobre, funciona normalmente, mas a base a base deles está bem desatualizada, como informou o Renato Frota, ou seja, muitos CEPs aparecerão errados ou inexistentes, o que é uma pena...

 

 Poxa, que pena !!!

 Meu fluxo de clientes é pequeno, desde que implementei no WHMCS todos os CEPS estão batendo certinho.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...

Important Information

Do you agree with our terms?