djform Posted January 23, 2015 Share Posted January 23, 2015 (edited) Bonjour. Je suis sous Prestashop 1.6.0.9 Sur ma page panier, j'ai le total produit et le total de ma commande qui s'affiche et qui tient compte des remises éventuelles qu'il y a sur chaque produit. Je souhaite rajouter un bloc avec "Economie réalisée" : il s'agit de la différence entre le total des produits sans remise et le total des produits avec les remises éventuelles.Est-ce que qqn a déjà fait ça ? Je ne sais pas par quel bout prendre ce problème ? Que dois-je modifier ? Edited January 24, 2015 by djform (see edit history) Link to comment Share on other sites More sharing options...
HananeF Posted January 7, 2016 Share Posted January 7, 2016 (edited) 3 fichiers à modifier (ou overrider) : /controllers/ParentOrderController.php /themes/votre-theme/shopping-cart.tpl /themes/votre-theme/order-payment.tpl ParentOrderController.php, function _assignSummaryInformations() Juste avant : foreach ($summary['products'] as $key => &$product) Ajouter : $totalDiscountPrice = 0; Et juste après : $product['is_discounted'] = $product['price_without_specific_price'] != $product['price_wt']; Ajouter : (Pas dans le else) $totalDiscountPrice = $totalDiscountPrice + (($product['price_without_specific_price'] * $product['cart_quantity']) - ($product['price_wt'] * $product['cart_quantity'])); /themes/votre-theme/shopping-cart.tpl Juste avant : {if $total_shipping_tax_exc <= 0 && !isset($virtualCart)} (l : 236) Ajouter : <tr class="cart_total_price"> <td class="label">Total de vos économies :</td> <td class="price-discount price">{displayPrice price=$totalPriceDiscount}</td> </tr> /themes/votre-theme/order-payment.tpl Juste avant : {if $total_shipping_tax_exc <= 0 && !isset($virtualCart)} (l : 219) Ajouter : <tr class="cart_total_price"> <td class="label">Total de vos économies :</td> <td class="price-discount price">{displayPrice price=$totalPriceDiscount}</td> </tr> Edited January 7, 2016 by HananeF (see edit history) Link to comment Share on other sites More sharing options...
djform Posted January 7, 2016 Author Share Posted January 7, 2016 Ca ne fonctionne pas. La variable $totalPriceDiscount reste toujours vide. Pour tester, au lieu de $totalDiscountPrice = 0; j'ai mis $totalDiscountPrice = 3; et idem pour le $totalDiscountPrice = $totalDiscountPrice + (($product['price_without_specific_price'] * $product['cart_quantity']) - ($product['price_wt'] * $product['cart_quantity'])); j'ai mis $totalDiscountPrice = 3; J'ai fait une surcharge et bien supprimé le fichier class_index.php Link to comment Share on other sites More sharing options...
franckm1000 Posted January 7, 2016 Share Posted January 7, 2016 (edited) Je pense qu'il manque l'assignation de la variable à la vue: $this->context->smarty->assign('totalPriceDiscount', $totalDiscountPrice); Après la fin de la boucle foreach Edited January 7, 2016 by franckm1000 (see edit history) Link to comment Share on other sites More sharing options...
djform Posted January 7, 2016 Author Share Posted January 7, 2016 En fait, j'avais bien essayé mais j'ai vu où était l'erreur. J'ai bêtement copier/coller votre code et il y avait une erreur : au début votre variable s'appelle totalDiscountPrice et à la fin c'est devenu : totalPriceDiscount inversion de Price et Discount. Une fois cette erreur corrigée et avec l'assignation de la variable cela fonctionne. Mais afin que ce soit pleinement opérationnel, il faut également modifier le cart-summary.js afin que le montant soit mis à jour si le client modifie son panier ( ce que j'ai fait) et là, c'est parfait. Merci en tous les cas pour votre aide. Link to comment Share on other sites More sharing options...
franckm1000 Posted January 8, 2016 Share Posted January 8, 2016 (edited) il y avait une erreur : au début votre variable s'appelle totalDiscountPrice et à la fin c'est devenu : totalPriceDiscount inversion de Price et Discount. C'est inexact de parler d'une erreur dans le code donné au départ à ce niveau. C'est simplement que la variable PHP s'appelle totalDiscountPrice et que la variable SMARTY s'appelle totalPriceDiscount Il n'y a strictement aucun lien de parenté entre leur nom hormis au moment de l'assignation. Donc il n'y a pas besoin de "renommer" les variables mais simplement de bien assigner comme dans mon précédent message où la variable SMARTY créée est bien nommée 'totalPriceDiscount' $this->context->smarty->assign('totalPriceDiscount', $totalDiscountPrice); Edited January 8, 2016 by franckm1000 (see edit history) Link to comment Share on other sites More sharing options...
Mediacom87 Posted January 11, 2016 Share Posted January 11, 2016 Bonjour, voici un module qui pourrait vous intéresser sachant qu'en plus le montant ce met à jour automatiquement si on change la quantité de produits. https://www.prestashop.com/forums/topic/498470-module-display-the-savings-in-the-prestashop-shopping-cart/ Link to comment Share on other sites More sharing options...
djform Posted January 11, 2016 Author Share Posted January 11, 2016 Trop tard, j'ai déjà fini d'intégrer ce que je voulais et ça fonctionne à 100%. Link to comment Share on other sites More sharing options...
Mediacom87 Posted January 11, 2016 Share Posted January 11, 2016 Trop tard, j'ai déjà fini d'intégrer ce que je voulais et ça fonctionne à 100%. pas de soucis l'important c’est que vous ayez pu réussir à faire ce que vous vouliez. Le montant économisé se met il bien à jour lors du changement de quantité des produits directement dans le panier ? Link to comment Share on other sites More sharing options...
detexte Posted June 16, 2016 Share Posted June 16, 2016 Bonjour DJform, Merci pour ce topic car je cherche depuis un moment une solution, dommage que ceci ne soit pas natif Pouvez-vous remettre en détails les modifications que vous avez effectué pour que ceci fonctionne svp. Ce serait GRANDEMENT sympathique 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