Adicionando Campos de Endereço

Este tutorial foi feito utilizando o Magento CE 1.7.0.2, mas deve funcionar para outras versões.

Favor fazer o backup de sua loja e fazer o teste em desenvolvimento primeiro.

Todos os testes foram feitos utilizando o tema base do Magento.

Não me responsabilizo caso algum erro aconteça.

Alguns arquivos na versão 1.7 devem ser alterados de pastas diferentes, caso você utilize o persistent do Magento.

Irei colocar o caminho caso seja necessário.

Antes de mais nada precisamos alterar para 4 campos de endereço. Vá no admin de sua loja e siga o caminho:

Sistema –> Configuração –> Clientes –> Configuração –> Opções de Nome e Endereço –> Número de linhas para endereço

magento-imagem-campos-endereço-01

Ficando assim:

magento-imagem-campos-endereço-02

Vamos agora alterar os arquivos do checkout.

Primeiro vamos fazer o do billing.phtml, vamos abrir o arquivo:

v 1.7 +: app/design/frontend/base/default/template/persistent/checkout/onepage/billing.phtml
v. 1.4.x – 1.6.x: app/design/frontend/base/default/template/checkout/onepage/billing.phtml

Procure pelo seguinte código:

<?php for ($_i = 2, $_n = $this->helper('customer/address')->getStreetLines(); $_i <= $_n; $_i++): ?>
<li class="wide">

Logo abaixo (entre o li class=”wide” e o div class=”input-box”) coloque:

<?php if($_i==2): ?>
 <label for="billing:street2" class="required"><em>*</em><?php echo $this->__('Número') ?></label>
 <?php elseif($_i==3): ?>
 <label for="billing:street3" class="required"><em></em><?php echo $this->__('Complemento') ?></label>
 <?php else: ?>
 <label for="billing:street4" class="required"><em>*</em><?php echo $this->__('Bairro') ?></label>
 <?php endif ?>

magento-imagem-campos-endereço-03

Agora para vamos alterar o shipping.phtml:

app/design/frontend/base/default/template/checkout/onepage/shipping.phtml

A alteração é da mesma forma, o código é diferente:

<?php if($_i==2): ?>
 <label for="shipping:street2" class="required"><em>*</em><?php echo $this->__('Número') ?></label>
<?php elseif($_i==3): ?>
 <label for="shipping:street3" class="required"><em></em><?php echo $this->__('Complemento') ?></label>
<?php else: ?>
 <label for="shipping:street4" class="required"><em>*</em><?php echo $this->__('Bairro') ?></label>
<?php endif ?>

magento-imagem-campos-endereço-04

Faça o mesmo para os seguintes:

Registro do usuário:

v 1.7 + : app/design/frontend/base/default/template/persistent/customer/form/register.phtml
v. 1.4.x – 1.6.x: app/design/frontend/base/default/template/customer/form/register.phtml

Para o usuário editar:

app/design/frontend/base/default/template/customer/address/edit.phtml

Para esses arquivos utilizo o seguinte código:

<?php if($_i==2): ?>
<label for="street2" class="required"><em>*</em><?php echo $this->__('Número') ?></label>
<?php elseif($_i==3): ?>
<label for="street3" class="required"><em></em><?php echo $this->__('Complemento') ?></label>
<?php else: ?>
<label for="street4" class="required"><em>*</em><?php echo $this->__('Bairro') ?></label>
<?php endif ?>

Agora para aparecer na informação da compra, abra o arquivo:

app/design/adminhtml/default/default/template/sales/order/view/info.phtml

Primeiro vamos alterar o billing, procure por:

<address><?php echo $_order->getBillingAddress()->getFormated(true) ?></address>

Altere para:

<address><?php
$order = $this->getOrder();
$billing_address = $order->getBillingAddress();
echo "<font color='red'>Nome: </font> ".' '.$billing_address->getFirstname().' '.$billing_address->getLastname();
echo "<br />";
echo "<font color='red'>Endereço: </font> "." ".$billing_address->getStreet(1).", <font color='red'>N°</font> ".$billing_address->getStreet(2);
$complemento = $billing_address->getStreet(3);
if ($complemento == NULL) {
echo "<br />";
} else {
echo "<br />";
echo "<font color='red'>Complemento: </font> ".' '.$billing_address->getStreet(3);
echo "<br />";
}
echo "<font color='red'>Bairro: </font> ".' '.$billing_address->getStreet(4);
echo "<br />";
echo "<font color='red'>Cidade: </font> ".' '.$billing_address->getCity();
echo "<br />";
echo "<font color='red'>UF: </font> ".' '.$billing_address->getRegion().' '."<font color='red'>CEP: </font> ".' '.$billing_address->getPostcode();
echo "<br />";
echo "<font color='red'>Telefone: </font> ".' '.$billing_address->getTelephone();
echo "<br />";
echo "<font color='red'>Celular: </font> ".' '.$billing_address->getFax();
?></address>

Agora para o shipping procure por:

<address><?php echo $_order->getShippingAddress()->getFormated(true) ?></address>

E altere para:

<address><?php
$order = $this->getOrder();
$shipping_address = $order->getShippingAddress();
echo "<font color='red'>Nome: </font> ".' '.$shipping_address->getFirstname().' '.$shipping_address->getLastname();
echo "<br />";
echo "<font color='red'>Endereço: </font> "." ".$shipping_address->getStreet(1).", <font color='red'>N°</font> ".$shipping_address->getStreet(2);
$complemento = $shipping_address->getStreet(3);
if ($complemento == NULL) {
echo "<br />";
} else {
echo "<br />";
echo "<font color='red'>Complemento: </font> ".' '.$shipping_address->getStreet(3);
echo "<br />";
}
echo "<font color='red'>Bairro: </font> ".' '.$shipping_address->getStreet(4);
echo "<br />";
echo "<font color='red'>Cidade: </font> ".' '.$shipping_address->getCity();
echo "<br />";
echo "<font color='red'>UF: </font> ".' '.$shipping_address->getRegion().' '."<font color='red'>CEP: </font> ".' '.$shipping_address->getPostcode();
echo "<br />";
echo "<font color='red'>Telefone: </font> ".' '.$shipping_address->getTelephone();
echo "<br />";
echo "<font color='red'>Celular: </font> ".' '.$shipping_address->getFax();
?></address>

magento-imagem-campos-endereço-05

Agora as informações ficam mais claras para seus clientes e para você também.

Espero que tenham gostado do tutorial e espero que compartilhem.

Para dúvidas, por favor acessem o fórum aqui:

http://www.forum.magentobr.com/topic/467-tutorial-adicionando-campos-de-endereo/

2017-09-26T23:30:44+00:00

RECEBA DICAS VALIOSAS NO SEU EMAIL

x