Afficher le montant minimum de commande en TTC sur Prestashop 1.7

25 mars 2018 / Par Digi6
TVA HT TTC

Dans Prestashop il est possible de définir un montant minimum d’achat avant de pouvoir procéder à la commande. En dessous de ce montant, un message d’erreur préviendra vos clients que le minimum nécessaire n’est pas encore atteint. Néanmoins ce message d’erreur indique le montant minimum ainsi que le montant actuel de la commande en HT. Un choix qui convient bien pour une boutique BtoB par exemple en revanche si vous vendez à des particuliers, il n’y a pas de raison que ces montants apparaissent HT alors que tout le reste du site est en TTC. Voici donc comment procéder pour modifier les montants en TTC sur Prestashop 1.7.x.

 

 

Avant tout je tiens à préciser que cette astuce nécessite de modifier directement un fichier natif de Prestashop et que cela peut perturber le fonctionnement de votre boutique si c’est mal effectué, et même bloquer son accès. Donc pensez toujours à faire une copie de l’original avant modification, et ne tentez pas de le faire vous-même si vous ne maitrisez pas les étapes suivantes.

Les modifications à effectuer concernent le répertoire /src/Adapter/Cart et nous allons modifier directement le fichier CartPresenter.php (avec la version 1.7.x de Prestashop).

 

Afficher le montant actuel de la commande en TTC :

On va tout d’abord simplement modifier la ligne suivante qui se trouve à la ligne 441 (il se peut que ce soit situé un peu au dessus ou en dessous chez vous selon votre version de Prestashop) :
'%total%' => $this->priceFormatter->convertAndFormat($productsTotalExcludingTax),

Et la remplacer par
'%total%' => $this->priceFormatter->convertAndFormat($totalCartAmount),

 

Ceci va permettre dans un premier temps d’afficher le montant actuel de la commande en TTC et sans les frais de livraison. On remplace pour ça  la variable $productsTotalExcludingTax (qui affichait le montant du panier HT) par la variable $totalCartAmount préalablement définie dans le code.

 

Afficher le montant minimum de la commande en TTC :

En revanche le montant minimum de la commande est toujours affiché HT. Celui-ci est appelé a la ligne juste au dessus :
'%amount%' => $this->priceFormatter->convertAndFormat($minimalPurchase),

Il est donc nécessaire de rajouter la TVA à ce montant, pour obtenir le montant de commande minimum TTC qu’on va déclarer dans une nouvelle variable. Néanmoins à ce stade on ne dispose pas du montant de la TVA, donc pour faire simple on peut simplement multiplier le montant HT par le taux de base et l’assigner à une nouvelle variable :

$minimalPurchaseVAT = $minimalPurchase * 1.20;

 

1.20 correspond au taux de TVA de 20%, 1.20 est donc évidemment à remplacer par le montant de TVA que vous avez pris en compte pour définir votre montant minimum de commande hors taxe. Si vous utilisez un taux de TVA de 5.5% le code sera donc :

$minimalPurchaseVAT = $minimalPurchase * 1.055;

 

Et comme à l’étape précédente, on va remplacer la variable HT par cette nouvelle variable TTC :

'%amount%' => $this->priceFormatter->convertAndFormat($minimalPurchaseVAT),

 

Traduction de l’expression « HT » par « TTC » :

Le message d’avertissement affiche désormais le montant TTC à la fois pour le  montant du panier et le montant minimum de la commande. Néanmoins, le message d’erreur affiche toujours  l’expression « HT » à coté du montant au lieu de TTC. Pour terminer la modification, on va donc tout simplement remplacer « HT » par « TTC » directement dans le traducteur intégré de Prestashop. Si vous ne savez pas comment effectuer cette dernière étape, je vous invite à lire mon précédent article qui explique comment traduire Prestashop avec l’outil intégré.

 

C’est réglé, chaque fois qu’un de vos clients tentera de passer une commande dont le montant n’est pas suffisant, le message indiquera le montant minimum de la commande  et du panier en TTC :

 

montant commande minimum en TTC sur Prestashop

Le montant de la commande minimum s’affiche désormais TTC

 

Commentaires

Bonjour, avez la solution pour prestashop 1.6 svp ? merci

Post Reply

Bonjour, non je n’ai pas la solution pour Prestashop 1.6 malheureusement. Pour dépanner en attendant de trouver la solution vous pouvez toujours procéder à la dernière étape, c’est à dire modifier la traduction du message d’erreur (dans le menu Localisation > Traduction et sans doute « Message d’erreur »). Vous rentrez directement le message que vous voulez afficher avec les montants TTC. Mais ca doit être une rustine temporaire car si vous changez le montant minimum de commande dans Prestashop plus tard, le message ne sera évidemment pas mis à jour.

Post Reply
Laisser un commentaire

*Champs obligatoires