Shonen Posted August 18, 2017 Share Posted August 18, 2017 Bonjour, Version Prestashop : 1.6.1.13 Thème enfant du thème default J'ai un problème sur mes déclinaisons produit, qui est sûrement un bug de presta. J'ai 2 groupes de clients, "clients" et "pros". Les pros ont des avantages personnalisés par produit (prix modifié dans le produit, onglet "prix spécifique") et un affichage HT. Hors les prix spécifiques fonctionnent bien sur un client, c'est à dire j'ai mon prix au litre qui change selon la déclinaison. Mais dès que je passe en pro, le prix de la déclinaison s'aligne sur celui des particulier, ça ne prend pas en compte ma réduction. Exemple de produit : Pot de peinture Prix HT : 42.08€ Prix TTC : 50.50€ Prix unitaire : 8.419999€ /L Déclinaison : 5L Impact prix : 0 Impact poids : +5kg Impact sur le prix unitaire : 0 Pro : -32.04% 15L Impact prix : +75.67€ HT Impact poids : +15kg Impact sur le prix unitaire : -0.57€ /L Pro : -33.25% Résultat : Hors je devrais avoir 5.24€ /L. Le problème se situe sûrement dans le fichier theme/mon_theme/js/product.js vers ligne 780 var unit_impact = +combination.unit_impact; if (productUnitPriceRatio > 0 || unit_impact) { if (unit_impact) { console.log('unit_impact:'+unit_impact); baseUnitPrice = productBasePriceTaxExcl / productUnitPriceRatio; console.log('productBasePriceTaxExcl:'+productBasePriceTaxExcl); console.log('productUnitPriceRatio:'+productUnitPriceRatio); console.log('baseUnitPrice (productBasePriceTaxExcl/productUnitPriceRatio):'+baseUnitPrice); unit_price = baseUnitPrice + unit_impact; console.log('unit_price(impact):'+unit_price); if (!noTaxForThisProduct || !customerGroupWithoutTax){ unit_price = unit_price * (taxRate/100 + 1); console.log('unit_price(impact+tax):'+unit_price); } } else{ unit_price = priceWithDiscountsDisplay / productUnitPriceRatio; console.log('unit_price(no_impact):'+unit_price); } } Malgré mes console.log je ne vois vraiment pas. Le soucis vient sûrement du fait que j'utilise les prix particulier, et le prix au L ne change dont pas ? Pourtant le résultat est plutôt incohérent, un prix au L plus élevé mais un prix final plus faible.. Merci de votre aide ! Link to comment Share on other sites More sharing options...
erouvier29 Posted August 22, 2017 Share Posted August 22, 2017 Il y a deux erreurs dans product.js du thème par défaut: Les taxes sont appliquées au prix unitaire même si l'affichage est HT La réduction éventuelle n'est pas appliquée. Cf. PR https://github.com/PrestaShop/PrestaShop/pull/8262 Vous pouvez adapter le product.js de votre thème comme ci-dessus. 1 Link to comment Share on other sites More sharing options...
Shonen Posted August 22, 2017 Author Share Posted August 22, 2017 Il y a deux erreurs dans product.js du thème par défaut: Les taxes sont appliquées au prix unitaire même si l'affichage est HT La réduction éventuelle n'est pas appliquée. Cf. PR https://github.com/PrestaShop/PrestaShop/pull/8262 Vous pouvez adapter le product.js de votre thème comme ci-dessus. Merci pour ta réponse et pour ton lien ! J'ai appliqué les changements, maintenant au lieu d'avoir 9.42€/L j'ai -253.16€/L sur mon produit 15L (déclinaison qui subit un -0.57€/L) J'ai l'impression que le -0.57 n'est pas calculé, mais qu'il prend une sorte de "différence" entre le prix final et le prix au litre par défaut, la variable productUnitPriceRatio. Du coup ce ratio est toujours à 5 chez moi peut importe le prix final et le prix au litre du produit, cette variable ne change jamais, et donc le résultat final ne change pas. Je pense que c'est cette variable qui est mauvaise, sauf qu'elle n'est pas instanciée dans le JS, elle doit être dans le controlleur. Link to comment Share on other sites More sharing options...
erouvier29 Posted August 22, 2017 Share Posted August 22, 2017 Une URL? Link to comment Share on other sites More sharing options...
erouvier29 Posted August 22, 2017 Share Posted August 22, 2017 Oops, c'est de ma faute! il manquait un /100: unit_price = unit_price*(1 - discountPercentage/100); 1 Link to comment Share on other sites More sharing options...
Shonen Posted August 22, 2017 Author Share Posted August 22, 2017 Une URL? J'ai envoyé un MP avec un lien ainsi qu'un identifiant de connexion sur le frontoffice en tant que client "Pro" et donc avec les réductions. Merci pour ton aide ! Link to comment Share on other sites More sharing options...
Shonen Posted August 22, 2017 Author Share Posted August 22, 2017 Oops, c'est de ma faute! il manquait un /100: unit_price = unit_price*(1 - discountPercentage/100); Fantastique ! Merci encore, je suis toujours surpris par le niveau des dév Presta, j'aurais pu y passer des semaines. Je marque en résolu, merci beaucoup. 1 Link to comment Share on other sites More sharing options...
loupiloop Posted October 1, 2017 Share Posted October 1, 2017 Bonjour Est-ce la meme modif à faire pour PS 1.7.2 svp ? Merci Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now