Ir para conteúdo
  • Cadastre-se

[GRATIS] CEP Automático com DDD WHMCS


Posts Recomendados

2 horas atrás, Fernando LA. disse:

Bom consegui nas duas páginas register.php e cart.php com a seguinte modificação:

cep.js => em /js no seu template:


// -- Criado por Victor Hugo Scatolon de Souza | Versão 0.5 | CompuLabs.com.br --

$(document).ready(function() {
	// -- Configurações --
	var esconder_campos = true;
	var loading_gif = "//i.imgur.com/q23p6oI.gif";
	// -------------------
	var pagina = window.location;
	pagina.toString().indexOf("register.php") + pagina.toString().indexOf("cart.php") >= 0 ? campos = ['postcode','address1','address2','city','stateselect','phonenumber'] : campos = ['inputPostcode','inputAddress1','inputAddress2','inputCity','stateselect','inputPhone'];
	
	$("head").append('<style>.cep-erro{border:solid 1px red}</style>')
	function ctrlcampo(op)
	{
		for (i = 1; i < campos.length; i++) {
			esconder_campos == false ? op == false ? $("#"+campos[i]).removeAttr("readonly") : $("#"+campos[i]).attr({"readonly": String(op)}) : op == false ? $("#"+campos[i]).parent().show() : $("#"+campos[i]).parent().hide();
		}
	}
	ctrlcampo(true);
	$("#"+campos[0]).change(function(event) {
		$("#"+campos[0]).after("<p style='margin-top:-33px;margin-left:90%;' id='cep-loading'><img src='"+loading_gif+"' /></p>");
		
		$.get("//ddd.pricez.com.br/cep/"+$("#"+campos[0]).val()+".json", function(data) {
			data.payload.logradouro != null ? $("#"+campos[1]).val(data.payload.logradouro) : $("#"+campos[1]).addClass('cep-erro');
			data.payload.bairro != null ? $("#"+campos[2]).val(data.payload.bairro) : $("#"+campos[2]).addClass('cep-erro');
			data.payload.cidade != null ? $("#"+campos[3]).val(data.payload.cidade) : $("#"+campos[3]).addClass('cep-erro');
			data.payload.estado != null ? $("#"+campos[4]).val(data.payload.estado) : $("#"+campos[4]).addClass('cep-erro');
			data.payload.ddd != null ? $("#"+campos[5]).val("("+data.payload.ddd+")") : $("#"+campos[5]).addClass('cep-erro');
		}).fail(function() {
			alert("Ocorreu um erro ao buscar seu CEP. Tente novamente.");
		});
		ctrlcampo(false);
		$("#cep-loading").remove()
	});
	$("input").change(function(event){
		if($(this).attr('class').indexOf("cep-erro") >= 0){$("#"+$(this).attr('id')).removeClass('cep-erro');}
	});
	$("select").click(function(event) {
		if($(this).attr('readonly') == "true" || $(this).attr('readonly') == "readonly"){$("#"+campos[0]).focus();}
	});
});

 

modificação da clientregister.tpl do seu template:


{if in_array('state', $optionalFields)}
    <script>
        var stateNotRequired = true;
    </script>
{/if}
 
<script type="text/javascript" src="{$BASE_PATH_JS}/StatesDropdown.js"></script>
 
{if $registrationDisabled}
    {include file="$template/includes/alert.tpl" type="error" msg=$LANG.registerCreateAccount|cat:' <strong><a href="cart.php" class="alert-link">'|cat:$LANG.registerCreateAccountOrder|cat:'</a></strong>'}
{/if}
 
{if $errormessage}
    {include file="$template/includes/alert.tpl" type="error" errorshtml=$errormessage}
{/if}
 
{if !$registrationDisabled}
 
    <form method="post" class="using-password-strength" action="{$smarty.server.PHP_SELF}" role="form">
        <input type="hidden" name="register" value="true"/>
 
        <div class="row">
 
            <div class="col-md-6">
                <div class="form-group">
                    <label for="firstname" class="control-label">{$LANG.clientareafirstname}</label>
                    <input type="text" name="firstname" id="firstname" value="{$clientfirstname}" class="form-control" {if !in_array('firstname', $optionalFields)}required{/if} />
                </div>
 
                <div class="form-group">
                    <label for="lastname" class="control-label">{$LANG.clientarealastname}</label>
                    <input type="text" name="lastname" id="lastname" value="{$clientlastname}" class="form-control" {if !in_array('lastname', $optionalFields)}required{/if} />
                </div>
 
                <div class="form-group">
                    <label for="companyname" class="control-label">{$LANG.clientareacompanyname}</label>
                    <input type="text" name="companyname" id="companyname" value="{$clientcompanyname}" class="form-control"/>
                </div>
 
                <div class="form-group">
                    <label for="email" class="control-label">{$LANG.clientareaemail}</label>
                    <input type="email" name="email" id="email" value="{$clientemail}" class="form-control"/>
                </div>
 
                <div id="newPassword1" class="form-group has-feedback">
                    <label for="inputNewPassword1" class="control-label">{$LANG.clientareapassword}</label>
                    <input type="password" class="form-control" id="inputNewPassword1" name="password" autocomplete="off" />
                    <span class="form-control-feedback glyphicon glyphicon-password"></span>
                    {include file="$template/includes/pwstrength.tpl"}
                </div>
                <div id="newPassword2" class="form-group has-feedback">
                    <label for="inputNewPassword2" class="control-label">{$LANG.clientareaconfirmpassword}</label>
                    <input type="password" class="form-control" id="inputNewPassword2" name="password2" autocomplete="off" />
                    <span class="form-control-feedback glyphicon glyphicon-password"></span>
                    <div id="inputNewPassword2Msg">
                    </div>
                </div>
            </div>
            <div class="col-md-6">
                <div class="form-group">
                    <label for="postcode" class="control-label">{$LANG.clientareapostcode}</label>
                    <input type="text" name="postcode" id="postcode" value="{$clientpostcode}" class="form-control" {if !in_array('postcode', $optionalFields)}required{/if} />
                </div>
 
                <div class="form-group">
                    <label for="address1" class="control-label">{$LANG.clientareaaddress1}</label>
                    <input type="text" name="address1" id="address1" value="{$clientaddress1}" class="form-control" {if !in_array('address1', $optionalFields)}required{/if} />
                </div>
 
                <div class="form-group">
                    <label for="address2" class="control-label">{$LANG.clientareaaddress2}</label>
                    <input type="text" name="address2" id="address2" value="{$clientaddress2}" class="form-control"/>
                </div>
 
                <div class="form-group">
                    <label for="city" class="control-label">{$LANG.clientareacity}</label>
                    <input type="text" name="city" id="city" value="{$clientcity}" class="form-control" {if !in_array('city', $optionalFields)}required{/if} />
                </div>
 
                <div class="form-group">
                    <label for="state" class="control-label">{$LANG.clientareastate}</label>
                    <input type="text" name="state" id="state" value="{$clientstate}" class="form-control" {if !in_array('state', $optionalFields)}required{/if} />
                </div>
 
                <div class="form-group">
                    <label for="country" class="control-label">{$LANG.clientareacountry}</label>
                    <select id="country" name="country" class="form-control">
                        {foreach $clientcountries as $countryCode => $countryName}
                            <option value="{$countryCode}"{if (!$clientcountry && $countryCode eq $defaultCountry) || ($countryCode eq $clientcountry)} selected="selected"{/if}>
                                {$countryName}
                            </option>
                        {/foreach}
                    </select>
                </div>
 
                <div class="form-group">
                    <label for="phonenumber" class="control-label">{$LANG.clientareaphonenumber}</label>
                    <input type="tel" name="phonenumber" id="phonenumber" value="{$clientphonenumber}" class="form-control" {if !in_array('phonenumber', $optionalFields)}required{/if} />
                </div>
 
                {if $customfields}
                    {foreach from=$customfields key=num item=customfield}
                        <div class="form-group">
                            <label class="control-label" for="customfield{$customfield.id}">{$customfield.name}</label>
                            <div class="control">
                                {$customfield.input} {$customfield.description}
                            </div>
                        </div>
                    {/foreach}
                {/if}
 
                {if $currencies}
                    <div class="form-group">
                        <label for="currency" class="control-label">{$LANG.choosecurrency}</label>
                        <select id="currency" name="currency" class="form-control">
                            {foreach from=$currencies item=curr}
                            <option value="{$curr.id}"{if !$smarty.post.currency && $curr.default || $smarty.post.currency eq $curr.id } selected{/if}>{$curr.code}</option>
                            {/foreach}
                        </select>
                    </div>
                {/if}
            </div>
        </div>
 
        {if $securityquestions}
            <div class="panel panel-default">
                <div class="panel-heading">
                    <h3 class="panel-title">{$LANG.clientareasecurityquestion}:</h3>
                </div>
                <div class="panel-body">
                    <div class="form-group col-sm-12">
                        <select name="securityqid" id="securityqid" class="form-control">
                            {foreach key=num item=question from=$securityquestions}
                                <option value={$question.id}>{$question.question}</option>
                            {/foreach}
                        </select>
                    </div>
                    <div class="form-group">
                        <label class="col-sm-4 control-label" for="securityqans">{$LANG.clientareasecurityanswer}</label>
                        <div class="col-sm-6">
                            <input type="password" name="securityqans" id="securityqans" class="form-control" autocomplete="off" />
                        </div>
                    </div>
                </div>
            </div>
        {/if}
 
        {include file="$template/includes/captcha.tpl"}
 
        {if $accepttos}
            <div class="panel panel-danger tospanel">
                <div class="panel-heading">
                    <h3 class="panel-title"><span class="fa fa-exclamation-triangle tosicon"></span> &nbsp; {$LANG.ordertos}</h3>
                </div>
                <div class="panel-body">
                        <div class="col-md-12">
                            <label class="checkbox">
                            <input type="checkbox" name="accepttos" class="accepttos">
                            {$LANG.ordertosagreement} <a href="{$tosurl}" target="_blank">{$LANG.ordertos}</a>
                            </label>
                        </div>
                </div>
            </div>
        {/if}
 
        <p align="center">
            <input class="btn btn-large btn-primary" type="submit" value="{$LANG.clientregistertitle}"/>
        </p>
 
    </form>
 
{/if}

 

E no footer.tpl do seu template antes da tag </body> adicione:


<script src="{$WEB_ROOT}/templates/{$template}/js/cep.js"></script>

 

Vou tentar. Valeu amigo!

 

Link para o comentário
Compartilhar em outros sites

5 horas atrás, CERTOCLICK disse:

Boa tarde pessoal, gostaria de saber como colocar o CEP antes do endereço?

edita 2 arquivos, o primeiro é pra mudar na pagina de cadastro

templates/SEUTEMPLATE/clientregister.tpl.php

procure por "postcode", dai é só mover a div.. 

o segundo é o arquivo para alterar quando o cliente vai fazer o pedido e se registrar 

templates/orderforms/SEUTEMPLATE/checkout.tpl.php

e faz a mesma coisa, procure por "postcode" e move a div.. 

 

Link para o comentário
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Infelizmente, seu conteúdo contém termos que não são permitimos. Edite seu conteúdo para remover as palavras destacadas abaixo.
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...

Informação Importante

Concorda com os nossos termos?