Fórum OpenCart Brasil

Por um e-commerce livre, confiável e profissional

#68491
Ola,

Ja fucei por tudo e nao encontrei nada que me funcionasse.
Estou usando o modulo Correios feito pelo nosso colega @juliocesar757, que a proposito, esta de parabens, funciona super bem!
Porém estou precisando adicionar ao peso final um valor correspondente a embalagem do produto. Algo simples como por ex. adicionar 200 gramas ao peso total ao calcular o frete.

Achei no forum uma solucao semelhante, de 2013, porem nao funciona na versão que utilizo (2.2.0).

Alguem poderia dar uma luz o que pode ser feito?

Obrigado!
#68498
Apenas adicione o peso da embalagem junto com o peso do produto no campo "peso", pois para o calculo do frete são utilizados esses dois valores;
#68503
O problema é que meu material pode pesar 1 grama e o cliente comprar 1000 pecas, a embalagem para 1 ou 1000 pecas pesa 200 , se eu adicionar o 200 no peso de cada peca, o frete ficara totalmente errado.
#68507
Realmente da forma que postei não dará certo para sua necessidade, se fosse produto volumoso seria uma solução, da forma desejada somente com desenvolvimento especifico pois terá que adicionar novo campo na administração do produto para informar o peso extra no caso a embalagem, e em cada módulo de frete resgatar esse peso e somar com o produto; Aconselho procurar auxilio de um desenvolvedor;
#68569
Como eu procurei por tudo e nao achei, após gastar horas e horas procurando uma solução, enfim, consegui!

Solução encontrada:

Edite o arquivo localizado em catalog\model\shipping\correios.php

Na linha 576 voce encontra o seguinte codigo:
Código: Selecionar todos
// O peso do produto não é unitário como a dimensão. É multiplicado pela quantidade. Se quisermos o peso unitário, teremos que dividir pela quantidade.
  			$prod_copy['weight']= $this->getPesoEmKg($prod_copy['weight_class_id'], $prod_copy['weight'])/$prod['quantity'];

após
Código: Selecionar todos
$prod_copy['weight']
adicione "+200", isso ira adicionar 200 gramas a mais no peso do produto no carrinho, caso queira outro peso para embalagem, é so alterar "200" pelo peso desejado.

Após a edição o codigo ficara:
Código: Selecionar todos
// O peso do produto não é unitário como a dimensão. É multiplicado pela quantidade. Se quisermos o peso unitário, teremos que dividir pela quantidade.
  			$prod_copy['weight']= $this->getPesoEmKg($prod_copy['weight_class_id'], $prod_copy['weight']+200)/$prod['quantity'];

Pronto, digamos que sua mercadoria pesa 500 gramas e a embalagem 200 gramas, o peso enviado para o correio sera de 700 gramas.

Espero ter ajudado!

P.s Testado no modulo correios do Julio no opencart versão 2.2.0.0
#68597
Eu li sua dúvida e entendi outra coisa, até tinha proposto a colocar o peso extra junto com o peso do produto, agora lendo melhor sua solução vou postar outra para você pois da forma que você fez irá acontecer o mesmo que tinha informada "peso extra ao peso do produto no campo peso"; A forma correta é você adicionar somente ao peso total enviado para o calculo dos correios, fiz da forma abaixo caso desejar modificar;

Adicione o código abaixo antes de $this->setUrl($peso, $valor, $medida_lados);
Código: Selecionar todos
		// Inicio acrescentar peso extra na encomenda
		// if abaixo remove a vírgula do peso e substitui por ponto para ocorrer a soma correta do "peso" com o "peso extra", pois o php não faz calculos corretos com valores que tem vírgula
		if((preg_match('/,/i',$peso))and(preg_match('/./i',$peso))){
			$peso       = str_replace('.','',$peso);
			$peso       = str_replace(',','.',$peso);
		}
		else{
			$peso       = str_replace(',','.',$peso);
		}
	
		$peso_extra = '0.200';  // Peso extra em Gramas
		$peso       = ($peso + $peso_extra);
		//$this->log->write($peso); // Caso desejar debugar só remover o comentário dessa linha e acessar log de erro
		// Fim acrescentar peso extra na encomenda
#68613
Otimo!!

Muito obrigado pela ajuda, funcionou certinho!
extensção -> Módulos

Voltou ao normal sozinho

Night games. One night, no worries Real Women P[…]

@Manoel Vidal Poderia me ajudar com 2 coisas n[…]

Looking for a partner for an unforgettable night? […]