X

Weight Shipping Opencart Error – Frete por peso

Published on: fev 07 2014 by Daniel Assad

Após tentar usar o frete por peso (Weight-Based Shipping) do Opencart encontrei alguns problemas que foram solucionados, depois de muita pesquisa, sem muitos mistérios.

Versão do opencart: 1.5.6.

O primeiro erro:

“Warning: Division by zero in … /system/library/weight.php on line 38″.

Imaginei que este problema fosse no cadastro do produto, ter digitado errado o campo de peso ou deixado vazio, mas este erro vem do campo “Unidade de Peso” (weight_class_id).

Por algum motivo, ainda não compreendido ou convincente, alguns produtos (principalmente os que vem de teste na instalação do Opencart) no banco de dados tem a coluna weight_class_id, da tabela product, com a informação 0. Quando o correto seria 1 para kilograma ou 2 para grama. Segundo li, quando vc deleta uma unidade de medida (kg, g, etc) do sistema, todos os produtos que estavam com a classe deletada fica com 0.

Se você deletou os produtos de teste do Opencart, talvez nem tenha passado por este problema, se você está usando eles, entre no seu phpmyadmin e na aba SQL execute a seguinte linha:

UPDATE 'product' SET 'weight_class_id' = '1' WHERE 'weight_class_id' = '0'

 

O segundo erro:

A opção de frete por peso não aparece no checkout.

No meu caso, precisava fazer dois preços fixos dependendo do peso dos produtos. Uma tabela fixa para PAC e outra SEDEX. Ex.: Até 1kg, no PAC sairia por R$8 e no SEDEX por R$12. Assim criei duas regiões: uma chamada PAC e outra SEDEX, em ambas, marquei Brasil como país e deixei selecionado “todas as regiões”, ou seja, todos os estados brasileiros.

Já nas configurações do frete, inseri as linhas:

EM PAC – 1:8.00
SEDEX – 1:12.00

E, quando ia para o checkout, não aparecia nada. Nenhum método de entrega era localizado. Isto não é um erro e sim uma pequena falta de atenção. Na configuração acima, setei apenas os produtos com peso até 1kg. Logo, se um produto for maior que 1kg ou a soma dos produtos do carrinho for maior, meu frete não irá aparecer.

A configuração correta é terminar sempre com o peso máximo enviado pela sua transportadora, ou seja, os Correios envia até 30kg via PAC. Logo o correto seria configurar:

EM PAC – 1:8.00,30:20.00 (até 1kg = R$ 8; Entre 1kg e 30kg = R$ 20), ou você pode criar faixas intermediárias.

Filed under: Blog e Dicas, Comércio Eletrônico, Opencart

Deixe um comentário

*

*