Jump to content

Soucis avec le calcul des réductions (creation de bon de réduction)


Recommended Posts

Bonsoir,

 

J'ai besoin de créer pour certains de mes clients des bons de réduction avec les options suivantes "réduction sur la commande (montant)" et "créer un nouveau bon de réduction avec les montant restant" (ps 1.4.6.2).

 

J'ai fait un test mais il y a un souci : lorsque le montant du bon de réduction est plus bas que le prix du produit, le montant restant est déduit des frais de port (cf capture écran).

 

post-286296-0-35594400-1327183005_thumb.jpg

 

J'ai absolument besoin de modifier cela et je souhaiterais que les reductions soient uniquement calculées sur le total produit et non sur le total de la commande frais de port compris.

 

Je pense qu'il faut modifier le fichier classes/cart.php ou discount.php mais je ne sais pas comment intervenir. Faut-il ajouter ou supprimer des lignes de code ?

 

Quelqu'un pourrait-il m'aider ?

 

Merci d'avance.

Link to comment
Share on other sites

Faut-il modifier les lignes suivantes (classes/cart.php) ?

 

/* Secondly applying all vouchers to the correct amount */

$shrunk = false;

foreach ($discounts AS $discount)

if ($discount->id_discount_type != 3)

{

$order_total -= Tools::ps_round((float)($discount->getValue(sizeof($discounts), $order_total_products, $shipping_fees, $this->id, (int)($withTaxes))), 2);

if ($discount->id_discount_type == 2)

if (in_array($discount->behavior_not_exhausted, array(1,2)))

$shrunk = true;

}

$order_total_discount = 0;

if ($shrunk AND $order_total < (-$wrapping_fees - $order_total_products - $shipping_fees))

$order_total_discount = -$wrapping_fees - $order_total_products - $shipping_fees;

else

$order_total_discount = $order_total;

}

Link to comment
Share on other sites

  • 2 months later...

je suis intéréssée aussi. je ne comprends d'ailleurs pas pourquoi ce n'est pas en natif dans presta, je ne trouve pas cela logique d'offrir un bon de réduction valable aussi sur les frais de port. en général on offre sur les produits uniquement.

 

en attendant j'ai fait une bidouille:

j'ai modifié le fichier qui concerne les points de fidelité.

en fait lorqu'un bon de fidelité est créé, le montant minimal est automatiquement égal au montant du bon.

l'inconvénient c'est que ca oblige ton client à prendre par exemple 27€ d'article si son bon est de 27€ mais du coup il paiera des frais de port.

 

voilà la modif à faire c'est dans module/loyalty/loyalty-program

 

à la ligne 78

tu remplace ce que tu trouve en face de $voucher->minimal =

par

LoyaltyModule::getVoucherValue((int)$customerPoints);

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...