A consulta é feita utilizando o webservice do site: http://cep.republicavirtual.com.br e o código foi baseado no site: http://www.eliezer.com.br/post/busca-de-cep-no-seu-form-apenas-com-javascript.
Requirements ¶
A extensão foi criada no Yii 1.1.12 mas não vejo problema p/ funcionar em versões anteriores.
Usage ¶
Extraia o arquivo no diretório protected\extensions.
<?php
/* @var $this EnderecosController */
/* @var $model Enderecos */
/* @var $form CActiveForm */
?>
<div class="form">
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'enderecos-form',
'enableAjaxValidation'=>false,
)); ?>
<p class="note">Fields with <span class="required">*</span> are required.</p>
<?php echo $form->errorSummary($model); ?>
<div class="row">
<?php echo $form->labelEx($model,'cep'); ?>
<?php echo $form->textField($model,'cep'); ?>
<!-- Início da chamada da extensão -->
<?php $this->widget('ext.BuscaEnderecoViaCEP', array(
//'tipo'=>'link',
//'label'=>'Consultar',
'model'=>$model,
'mapeamento'=>array('cep'=>'cep',
'endereco'=>'endereco',
'cidade'=>'cidade',
'bairro'=>'bairro',
'uf'=>'uf'),
)); ?>
<!-- Fim da chamada da extensão -->
<?php echo $form->error($model,'cep'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'endereco'); ?>
<?php echo $form->textField($model,'endereco',array('size'=>60,'maxlength'=>80)); ?>
<?php echo $form->error($model,'endereco'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'numero'); ?>
<?php echo $form->textField($model,'numero'); ?>
<?php echo $form->error($model,'numero'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'complemento'); ?>
<?php echo $form->textField($model,'complemento',array('size'=>20,'maxlength'=>20)); ?>
<?php echo $form->error($model,'complemento'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'cidade'); ?>
<?php echo $form->textField($model,'cidade',array('size'=>50,'maxlength'=>50)); ?>
<?php echo $form->error($model,'cidade'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'bairro'); ?>
<?php echo $form->textField($model,'bairro',array('size'=>50,'maxlength'=>50)); ?>
<?php echo $form->error($model,'bairro'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'uf'); ?>
<?php echo $form->textField($model,'uf',array('size'=>20,'maxlength'=>20)); ?>
<?php echo $form->error($model,'uf'); ?>
</div>
<div class="row buttons">
<?php echo CHtml::submitButton($model->isNewRecord ? 'Create' : 'Save'); ?>
</div>
<?php $this->endWidget(); ?>
</div><!-- form -->
Extremamente útil
Muito obrigado por compartilhar!
=))
input do cep
Bruno,
O campo de CEP, não está posicionado errado? Não seria o primeiro input a ser preenchido?
@Newerton
Na verdade esse código todo foi só p/ mostrar como fazer a chamada da extensão.
Mas concordo com vc do campo CEP ser o primeiro sim!!
Vou alterar o exemplo p/ melhorar o entendimento.
Publicação
Bruno, posta esta extensão no forum e no grupo de discussão, bom saber que tem extensão para finalidade brasileira. ;)
Demo
Olá Bruno, você tem o demo desta extensão?
@Breno Mayder
Breno, infelizmente não disponibilizei um demo, mas é bem fácil de utilizar.
Dá uma olhada no exemplo acima.
Qualquer dúvida é só falar..
If you have any questions, please ask in the forum instead.
Signup or Login in order to comment.