Problema Declaração
Atualmente, quando adicionamos produtos ao carrinho e passamos para a seção de checkout para aproveitar o desconto e o frete, vemos que o desconto se aplica após o envio. Digamos,
- O valor total do carrinho é de US $ 100, com frete grátis e um desconto de 5% também é adicionado
- Então, depois que o valor total do desconto do carrinho for definido abaixo de US $ 100, mas ainda assim, o frete grátis se aplica, o que não deve acontecer. O Frete Grátis deve ser aplicado ao valor Total Final do carrinho após o desconto.
- Este é o processo padrão do Prestashop. Consulte a captura de tela abaixo, onde o frete deve ser gratuito se o total do pedido for > 50, mas tiver aplicado frete grátis enquanto o total do pedido for < 50 após o desconto –
Recomendado Read: Estratégias de frete grátis: por que oferecer? Como oferecer? Quando oferecer?
Por que o problema atual está lá?
O problema atual existe porque o valor do frete está sendo calculado no valor total do pedido que é definido no carrinho antes de aplicar o desconto. Você pode verificar as linhas de código abaixo onde o Total do pedido sem valor de desconto está sendo usado para calcular o frete –
$shipping_cost += $carrier->getDeliveryPriceByPrice($the_total_price, $id_zone, (int)$this->id_currency);
Exigência
Precisamos modificar o arquivo abaixo mencionado para corrigir o mesmo. Iremos substituir as linhas correspondentes do arquivo de classe para evitar quaisquer alterações nos arquivos Core.
Abaixo está a lista de arquivos de classe que serão substituídos
1. Diretório raiz\classes\Cart.PHP
Procedimento para resolver o problema-
Siga as etapas abaixo mencionadas –
1. Função de reescrita�getPacoteCusto de Envio
2. Após a linha abaixo –
// Total do pedido na moeda padrão sem taxas $order_total = $this->getOrderTotal(true, Cart::BOTH_WITHOUT_SHIPPING, $product_list);
3. Adicione a seguinte declaração –
$listeDiscounts = $this->getCartRules(); $total_discounts = 0; if (is_array($listeDiscounts)) { if (isset($listeDiscounts[0]['value_real'])) $total_discounts = $listeDiscounts[0]['value_real']; } $price_to_apply_shipment = floatval($order_total) - floatval($total_discounts); Leitura recomendada: Melhor extensão do gerenciador de frete grátis para a loja OpenCart
4. Substitua as linhas mencionadas abaixo –
Substitua esta linha
$check_delivery_price_by_price = Carrier::checkDeliveryPriceByPrice($row['id_carrier'], $total_order, (int)$id_zone, (int)$this->id_currency);
Com
$check_delivery_price_by_price = Transportadora::checkDeliveryPriceByPrice($row['id_carrier'], $price_to_apply_shipment, (int)$id_zone, (int)$this->id_currency);
————E—————–
Substitua esta linha
$shipping_cost += $carrier->getDeliveryPriceByPrice($the_total_price, $id_zone, (int)$this->id_currency);
Com
$shipping_cost += $carrier->getDeliveryPriceByPrice($price_to_apply_shipment, $id_zone, (int)$this->id_currency);
5. Limpe o cache e execute.
Consulte a captura de tela abaixo após aplicar as alterações no código –
Após seguir o procedimento acima, você poderá calcular o Frete no valor total final do carrinho.
Conclusão
Quando se trata de compras online, toda a estrutura de preços desempenha um papel crucial para os clientes. Um dos fatores que podem fazer ou quebrar suas conversões é a disponibilidade de frete grátis. Um método para determinar as opções de envio e os custos em um site de comércio eletrônico é o Frete grátis Manager Addon da Knowband. Um dos requisitos mais importantes para aumentar as vendas médias é proporcionar abertura na transação.
As lojas que usaram esse módulo de frete grátis aumentaram o tráfego do site, a receita e as taxas de conversão. Com a ajuda deste plugin de frete grátis, os administradores da loja podem definir as diretrizes e condições para os custos de frete. Melhor ainda, esse recurso pode ser adicionado ou removido do site pelo administrador da loja.
O limite sobre o qual o frete grátis é oferecido pode ser definido pelos varejistas online. Como resultado, ele ainda incentiva os clientes a fazer compras maiores para se qualificarem para o frete grátis. Para saber mais sobre a funcionalidade do Módulo Frete Grátis, sinta-se à vontade para nos contatar em support@knowband.com