Supprimer les frais de transports dans le panier Prestashop

Les abandons de panier avec Prestashop sont nombreux car les frais de transports perturbent souvent les clients quand ils apparaissent directement dans le panier alors que souvent on peut choisir le retrait sur place qui est gratuit !!! Mais seulement après.

Nous allons voir ici comment modifier les fichiers de code générant ce panier pour supprimer ces frais de transports.

Attention, cela fonctionne pour le panier de prestashop en haut à droite et pas la partie Résumé ou Summary !

Modification du fichier template du panier

Il faut se rendre dans le fichier modules/blockcart/blockcart.tpl ou si votre thème en contient un dans /themes/nameofthemes/modules/blockcart/blockcart.tpl

Suppression du prix du transport dans le panier Prestashop

Il faut supprimer ces lignes du fichier pour faire disparaître les frais de transport apparaissant après les produits.

<div class="cart-prices-block">

<span id="cart_block_shipping_cost" class="price ajax_cart_shipping_cost">{$shipping_cost}</span>

<span>{l s='Shipping' mod='blockcart'}</span>

</div>

Préparation du prix total du panier sans transport

Maintenant il faut dans le même fichier modifier le prix total que nous calculerons plus loin :

<span id="cart_block_total" class="price ajax_block_cart_total">{$total}</span>

Remplacer la variable $total en $product_total qui va être créé en suivant

<span id="cart_block_total" class="price ajax_block_cart_total">{*$total*}{$product_total}</span>

Création du prix total sans transport

Trouver les lignes suivantes dans le fichier

<span class="ajax_cart_total" {if $cart_qties == 0}style="display:none"{/if}>

   {if $cart_qties > 0}

   {if $priceDisplay == 1}

   {convertPrice price=$cart->getOrderTotal(false)}

{else}

   {convertPrice price=$cart->getOrderTotal(true)}

         {/if}

   {/if} 

</span>

Et modifier tout le code dans le span comme cela :

<span class="ajax_cart_total" {if $cart_qties == 0}style="display:none"{/if}>

{$product_total}

</span>

Javascript du panier Prestashop

Aller dans /modules/blockcart/ajax-cart.js puis editer le fichier puis trouver la ligne

$('.ajax_block_cart_total').text(jsonData.total);

En

//$('.ajax_block_cart_total').text(jsonData.total);

$('.ajax_block_cart_total').text(jsonData.productTotal);

Modification du code php générant le panier en retirant les frais de transports

 Dans /modules/blockcart/blockcart.php la dernière modification enfin

Trouver cette ligne

'total' => Tools::displayPrice($params['cart']->getOrderTotal($useTax, Cart::BOTH_WITHOUT_SHIPPING), $currency), 

Et ajouter avant comme ceci 

'product_total' => Tools::displayPrice($params['cart']->getOrderTotal($useTax, Cart::BOTH_WITHOUT_SHIPPING), $currency),

'total' => Tools::displayPrice($params['cart']->getOrderTotal($useTax, Cart::BOTH_WITHOUT_SHIPPING), $currency), 

Et voilà vous n'avez plus les frais de transport dans le panier

Supprimer les frais de transports dans le panier Prestashop
Note 4.2 sur 5 Pour 5 votes