pierrew Posted March 19 Share Posted March 19 Bonjour, Le sujet à était abordé plusieurs fois mais les réponses ne correspondent pas à ma version de Prestashop ou sont sans réponse. Le problème : Lorsque je rentre un prix d'achat, admettons 5,97 €, une fois l'enregistrement fait, le prix est arrondit automatiquement à 6,00 €. Donc quand j'ai une vente, je me retrouve avec des marges fausses. Est-ce qu'il y a une solution à mettre en oeuvre ? Ma version de Prestashop : 1.7.8.7 Mon URL : https://www.stagingalive.com/ Merci par avance ! :) Link to comment Share on other sites More sharing options...
Eolia Posted March 19 Share Posted March 19 Vous avez mis combien de décimales pour les prix dans vos paramètres et quelle règle d'arrondi ? Link to comment Share on other sites More sharing options...
pierrew Posted March 19 Author Share Posted March 19 2 hours ago, Eolia said: Vous avez mis combien de décimales pour les prix dans vos paramètres et quelle règle d'arrondi ? Merci pour la réponse, j'ai mis ça : Link to comment Share on other sites More sharing options...
Eolia Posted March 19 Share Posted March 19 Euh... c'est planqué où les décimales dans les 1.7 ? Parce qu'il doit être là le souci. Link to comment Share on other sites More sharing options...
Mediacom87 Posted March 20 Share Posted March 20 Bonjour, peut-être que cela correspond à ce qui défini au niveau de la devise. Link to comment Share on other sites More sharing options...
pierrew Posted March 20 Author Share Posted March 20 15 hours ago, Mediacom87 said: Bonjour, peut-être que cela correspond à ce qui défini au niveau de la devise. Merci pour le retour, j'ai ça au niveau de la devise : Link to comment Share on other sites More sharing options...
Mediacom87 Posted March 20 Share Posted March 20 Donc pour trouver le problème il faut gratter plus sur la boutique, car rien n'est normal sur ce que vous présentez. Link to comment Share on other sites More sharing options...
Eolia Posted March 20 Share Posted March 20 il doit y avoir un cast en (int) qui traine quelque part, soit dans un fichier soit dans un tpl. A vérifier comment sont vos prix dans la table ps_product. Link to comment Share on other sites More sharing options...
pierrew Posted April 12 Author Share Posted April 12 On 3/20/2024 at 5:52 PM, Eolia said: il doit y avoir un cast en (int) qui traine quelque part, soit dans un fichier soit dans un tpl. A vérifier comment sont vos prix dans la table ps_product. Désolé pour la réponse tardive, ils sont comme ça : Link to comment Share on other sites More sharing options...
Eolia Posted April 12 Share Posted April 12 Ok, ils sont donc au bon format. Il va falloir regarder dans vos tpl ou overrides à quel moment le champ "price" est casté en (int). Link to comment Share on other sites More sharing options...
pierrew Posted April 12 Author Share Posted April 12 52 minutes ago, Eolia said: Ok, ils sont donc au bon format. Il va falloir regarder dans vos tpl ou overrides à quel moment le champ "price" est casté en (int). Merci pour le retour, j'avoue n'être pas familier avec le vocabulaire emplyé 😅 Est-ce que vous auriez un exemple à me montrer ? Un dossier susceptible d'abriter les fichiers en erreurs ? Link to comment Share on other sites More sharing options...
Eolia Posted April 12 Share Posted April 12 Pas facile. Les overrides sont dans le répertoire /override/ Voir s'il y a ces fichiers dans - /classes/ => Product.php - /controllers/front => ProductController.php En PHP, ça pourrait être quelque chose comme: $price = (int)$product->price; dans un tpl (du thème): {$price|intval} Link to comment Share on other sites More sharing options...
pierrew Posted April 12 Author Share Posted April 12 58 minutes ago, Eolia said: Pas facile. Les overrides sont dans le répertoire /override/ Voir s'il y a ces fichiers dans - /classes/ => Product.php - /controllers/front => ProductController.php En PHP, ça pourrait être quelque chose comme: $price = (int)$product->price; dans un tpl (du thème): {$price|intval} Merci, je check mais c'est pas évident vu le nombre de lignes 😵💫 Dans product.php, j'ai trouvé ça, avec un peu de chances : $this->price = Product::getPriceStatic((int) $this->id, false, null, 6, null, false, true, 1, false, null, null, null, $this->specificPrice); $this->unit_price = ($this->unit_price_ratio != 0 ? $this->price / $this->unit_price_ratio : 0); $this->tags = Tag::getProductTags((int) $this->id); $this->loadStockData(); Link to comment Share on other sites More sharing options...
Eolia Posted April 12 Share Posted April 12 (edited) Ben non, là c'est ok, il y a juste $this->id (l'ID du produit) qui est forcé en int (entier) Edited April 12 by Eolia (see edit history) 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