Calcular CEP Simplificado

O calculo de frete do Magento vem preparado para ser internacional, com os campos, País, Estado, e Cep.

E aqui no Brasil, o planejamento de quem esta começando é vender apenas no território nacional, então não faz sentido exigir o preenchimento dos campos País e Estado. Isso apenas complica e desanima o usuário a se tornar um cliente.

Então vamos ver como podemos simplificar este processo, mantendo na tela apenas o essencial, o campo CEP.

Modificando o template

Vamos começar pelo principal, retirar o exceso e manter apenas o básico. Para isso abra o arquivo:

app > design > frontend > default > default > template > checkout > cart > shipping.phtml

Lembre-se, se não encontrar o arquivo em default/default faça uma cópia do arquivo que está em base/default. Leia o post sobre Debug para saber como encontrar esses arquivos.

Ao ver este arquivo pela primeira vez, talvez você ache muito confuso. Não se preocupe, respire fundo, mantenha a concentração e vamos em frente.

Logo no início do código, você encontra o form action. Dentro deste form estão os campos. Então procure por country, region_id, city. Todos eles estão dentro de um elemento < li >.

Abaixo deles você vai encontrar o postcode, que é nosso campo Cep.

Nesse momento, eu diria pra você comentar ou excluir o código. Mas… o Magento possui validação client-side e server-side, o que gera um trabalho maior na hora de simplesmente tirar alguns campos da tela.

Por isso, a solução mais rápida e fácil nesse momento, é manter os campos na tela de forma oculta, ou seja, inserir um hidden nos campos que você deseja “excluir”, exemplo:

  • Não é a mais elegante das soluções, mas funciona!

    Configurações de backend, precisa?

    Para que você possa calcular o cep de forma correta, é importante que algumas configurações sejam feitas. Então no seu backend acesse:

    Sistema > Configuração > Configurações de Entrega [ Origem de Envio ]

    E informe o País, Estado, Cidade, Cep de origem de envio dos produtos, para que esse cep seja utilizado na hora de calcular as entregas.

    Outra configuração que pode afetar o calculo do cep, está em:

    Sistema > Configuração > Geral [ Opções de Países ]

    Mantenha o “País Padrão” como Brasil. E no campo “Cep opcional para países” você informa se o campo CEP será ou não de preenchimento obrigatório.

    Ao selecionar um País você indica que ele NÃO precisa informar o cep.

    E basicamente é isso. Para calcular o cep usando o webservice dos correios, eu recomendo utilizar o módulo criado pelo Pedro Teixeira.

    Sucesso!