Jump to content

bug: variable $product.is_discounted dans shopping-cart-product-line.tpl


Recommended Posts

Bonjour, 

 

Un autre problème qui ressemble à un bug: 

 

Prestashop est configuré pour vendre des produits:

- en UE avec la TVA (TTC)

- et hors UE sans TVA (HT). 

 

Lorsqu'un utilisateur se trouve sur le récapitulatif du panier, 

la variable $product.is_discounted (dans shopping-cart-product-line.tpl)

- est égale à 1 si l'adresse de livraison se trouve hors UE, 

- n'existe pas si l'adresse de livraison se trouve en UE. 

 

Y a t-il un rapport logique entre l'adresse de livraison et la variable $product.is_discounted ?

À priori non, donc, il doit s'agir d'un bug. 

 

(et du coup ça affiche dans mon template des éléments graphique relatifs au produits en promotions… et c'est tout pété)

 

merci 

Edited by desgnl (see edit history)
Link to comment
Share on other sites

Un rapport logique, pas forcément. Un rapport par rapport à ce qu'on peut entrevoir dans le code, en effet.

 

La donnée "is_discounted" est réglée selon la méthode de calcul de taxes (avec ou sans). Le calcul se fait sur une différence de prix HT ou TTC. A voir si la constance _PS_PRICE_COMPUTE_PRECISION_ qui donne l'arrondi du prix n'est pas à incriminée, sur le coup.

Link to comment
Share on other sites

C'est possible que ça ait un lien avec _PS_PRICE_COMPUTE_PRECISION_  car quand le produit a un prix HT qui tombe rond (p.e.: 200€HT), la variable is_discounted n'existe pas, y compris lorsque l'adresse de livraison est hors-UE.

 

Pour les produits dont le prix ne tombe pas sur un entier (p.e.: 191,67€), la variable is_discounted est égale a 1. Cela affiche donc les éléments graphiques qui devraient s'afficher seulement pour les promotions et parmi ceux-ci, l'ancien prix (dans le template : {convertPrice price=$product.price_without_specific_price}) et le nouveau prix {convertPrice price=$product.price_wt}. Les deux sont identiques. 

 

J. Danse, as tu une idée comment remonter à la source du problème et le corriger ? 

 

merci 

Edited by desgnl (see edit history)
Link to comment
Share on other sites

J'ai donc reporté le bug ici: http://forge.prestashop.com/browse/PSCSX-5424

 

en attendant que ça soit corrigé, j'ai remplacé cette ligne dans le template 

{if isset($product.is_discounted) && $product.is_discounted }

par :

{if isset($product.is_discounted) && $product.is_discounted && $priceReduction > 0 }
Edited by desgnl (see edit history)
  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...