Yii 1.1: busca-endereco-via-cep

Consulta o endereço a partir do CEP e preenche os campos automaticamente.
7 followers

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

Total 6 comments

#12633 report it
Bruno Piaui at 2013/04/02 12:20pm
@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..

#12631 report it
Breno Mayder at 2013/04/02 11:01am
Demo

Olá Bruno, você tem o demo desta extensão?

#9588 report it
Newerton at 2012/08/26 11:03am
Publicação

Bruno, posta esta extensão no forum e no grupo de discussão, bom saber que tem extensão para finalidade brasileira. ;)

#9569 report it
Bruno Piaui at 2012/08/23 03:42pm
@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.

#9567 report it
Newerton at 2012/08/23 02:48pm
input do cep

Bruno,

O campo de CEP, não está posicionado errado? Não seria o primeiro input a ser preenchido?

#9550 report it
Junior - df9 at 2012/08/22 08:46am
Extremamente útil

Muito obrigado por compartilhar!

=))

Leave a comment

Please to leave your comment.

Create extension