Adicionar Número, Complemento e Bairro no Magento

Por ser um software de foco internacional, o Magento precisa ser alterado para atender as necessidades nacionais. Uma delas é referente aos campos Número, Complemento e Bairro que não vem junto ao software por padrão. Apesar disso, o Magento permite configurar até 4 campos diferentes para preenchimento de endereço. Nesse artigo vamos fazer uso desses campos adicionais para o preenchimento do Número, Complemento e Bairro. Lembramos que todos os artigos do blog são focados na versão 1.4.2 do Magento.

O artigo é baseado no artigo do blog Diário de um Programador que sugere inclusive criar novos campos no banco de dados do Magento. Também inclui algumas configurações adicionais. No nosso caso, estamos nos focando na solução mais simples que foi sugerida nos comentários por Octávio Piramo.

Vá ao Painel Administrativo do Magento e em Sistema > Configuração. No menu lateral, vá na categoria Clientes e selecione Configuração. Na aba Opções de Nome e Endereço, no campo Número de linhas para endereço preencha 4. Selecione Salvar.

Agora vamos editar 3 arquivos de template:
app/design/frontend/base/default/template/customer/address/edit.phtml
app/design/frontend/base/default/template/checkout/onepage/billing.phtml
app/design/frontend/base/default/template/checkout/onepage/shipping.phtml

edit.phtml

Procure os códigos abaixo:

E troque por:

billing.phtml

Procure os códigos abaixo:

E troque por:

shipping.phtml

Procure os códigos abaixo:

E troque por:

Fonte: http://www.olamundo.blog.br/blog/?p=416

silvio

Sobre Silvio Tenfen Junior

Desenvolvedor Web com 5 anos de experiência. Especializado em desenvolvimento de Sites e E-commerces com plataforma Magento. Trabalho também com desenvolvimento de Sistemas, integrações com ERPs, soluções de pagamento (Cielo, Rede, PagSeguro) e gerenciamento de sistemas em ambiente Cloud (Linux, Amazon Web Services).

9 comentários em “Adicionar Número, Complemento e Bairro no Magento

  1. Gabriel

    Boa tarde. Muito bom esse método, já apliquei em um site e deu tudo certo. Porém, estou tentando usar em um outro site agora, só que quando quero finalizar uma compra como visitante, ele não aparece. Aparece simplesmente os espaços vazios.

  2. Bom dia Silvio,

    Parabéns pelo post, me ajudou bastante.

    Agora estou com um “pequeno” problema… quando o cliente seleciona para fazer o envio para um endereço diferente do que está no seu cadastro, as informações de número, complemento e bairro não estão sendo salvas.
    Elas estão como obrigatórias durante o cadastro, mas são salvas em branco no banco.

    Você pode me ajudar?

  3. Desculpe Silvio, consegui achar o problema… havia faltado o parâmetro “onchange=”shipping.setSameAsBilling(false);”

    Obrigado!

    • Olá, Ricardo. Que bom que você descobriu o problema e compartilhou aqui. Assim outras pessoas já ficam cientes dessa possibilidade de situação.

  4. Olá Silvio.
    Post bastante util para a comunidade Magento, parabéns.
    Segui ele atentamente, e embora tenha funcionado nas páginas Editar, e no Endereço de Entrega,
    estranhamente não surtiu efeito na página Endereço de Cobrança.
    Verifiquei se tinha algum arquivo sobrescrevendo o billing.phtml, mas não encontrei nada.
    Caches desativados também. Alguma ideia do que poderia ser?
    Obrigado

    • Sei que já faz algum tempo o comentário, mas fica para os próximos. Em alguns casos o billing.phtml precisa ser alterado em: /public_html/app/design/frontend/base/default/template/persistent/checkout/onepage/billing.phtml

      Abraços!

      • Post antigo, mas que ainda ajuda muita gente, valeu mesmo. Valeu também Raul!

  5. Boa tarde pessoal, gostaria de saber como faço para retirar obrigatoriedade do campo complemento, desde ja agradeço.

    • Allan!
      Excluí a chamada da função de validação, do input complemento

      Apenas para efeito comparativo (Input do número. REPARE A ÚLTIMA LINHA COM A CHAMADA PARA A FUNÇÃO DE VALIDAÇÃO)
      (Torna o preenchimento obrigatório)
      <input type="text" title="__(‘Número’) ?>”
      name=”billing[street][]” id=”billing:numero”
      placeholder=”Número”
      value=”htmlEscape($this->getAddress()->getStreet(2)) ?>”
      class=”input-text “/>

      AGORA O INPUT DO COMPLEMENTO, SEM A OBRIGATORIEDADE DO PREENCHIMENTO:

      <input type="text" title="__(‘Complemento’) ?>”
      name=”billing[street][]” id=”billing:complemento”
      placeholder=”Complemento”
      value=”htmlEscape($this->getAddress()->getStreet(2)) ?>”
      class=”input-text”/>

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">