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!