Jump to content

Frais de ports offerts et bons de réductions


Recommended Posts

Bonjour,

Je cherche une solution pour ne pas pouvoir appliquer les bons de réduction lorsqu'on a les frais de ports offerts.
Je ne peux pas créer un bon de réduction qui offre les frais de ports à partir de 100 euros par exemple, car je n'offre ces FdP uniquement en France.

Sur les bons de réduction il y a des options, ou il est indiqué "Cumulable avec d'autres bons de réduction" ou "Cumulable avec des promotions" et même décochées les frais de ports offert s'appliquent...

Par exemple, j'offre 8 euros à partir de 80 euros d'achats et les frais de ports offerts à partir de 100€, à partir de 108 euros, le client peut avoir les frais de ports et les 8 euros de réductions.

Je travaille activement sur ce problème auriez-vous des pistes ou des solutions?

Link to comment
Share on other sites

ben malgré mes efforts je n'y suis pas arrivé, il y a deux endroit ou je pense que l'on peut faire quelque chose :

1 - dans classes/cart.php
par exemple au niveau des frais de ports offerts j'ai réussi à ne les autoriser uniquement en France et à modifier le fait que si on applique un bon de réduction la somme des frais de ports soit la même que dans le backoffice...

        // Free fees
   $free_fees_price = 0;if (isset($configuration['PS_SHIPPING_FREE_PRICE']))    $free_fees_price = Tools::convertPrice(floatval($configuration['PS_SHIPPING_FREE_PRICE']), new Currency(intval($this->id_currency)));$orderTotalwithDiscounts = $this->getOrderTotal(true, 4);if ($orderTotalwithDiscounts >= floatval($free_fees_price) AND floatval($free_fees_price) > 0 AND intval($id_zone) == 6 )    return $shipping_cost;if (isset($configuration['PS_SHIPPING_FREE_WEIGHT']) AND $this->getTotalWeight() >= floatval($configuration['PS_SHIPPING_FREE_WEIGHT']) AND floatval($configuration['PS_SHIPPING_FREE_WEIGHT']) > 0)    return $shipping_cost;


       if (isset($configuration['PS_SHIPPING_FREE_WEIGHT']) AND $this->getTotalWeight() >= floatval($configuration['PS_SHIPPING_FREE_WEIGHT']) AND floatval($configuration['PS_SHIPPING_FREE_WEIGHT']) > 0)
           return $shipping_cost;



Comment faire pour désactiver les frais de ports offerts en cas de bons de réductions?

(AND floatval($free_fees_price) > 0 AND intval($id_zone) == 6 AND (&discounts;) > 0)



2 - Dans Shopping-cart.tpl comme le disait très justement MADMIKE, on pourrait désactiver la case bon de réduction lorsqu'il y a des frais de ports offerts, mais je n'y suis pas arrivé...

{if $voucherAllowed }

   {if $errors_discount}

       {foreach from=$errors_discount key=k item=error}
{$error|escape:'htmlall':'UTF-8'}
       {/foreach}

   {/if}
   <form action="{$smarty.server.PHP_SELF|htmlentities}" method="post" id="voucher">

{l s='Vouchers'}


{l s='Code:'}
               <input type="text" id="discount_name" name="discount_name" value="{if $discount_name}{$discount_name}{/if}" />


<input type="submit" name="submitDiscount" value="{l s='Add'}" class="button" /></p>

   </form>

{/if}



Peut-être {if $voucherAllowed AND ...}

Peut-être y verriez vous plus clair que moi :coolhmm:

Link to comment
Share on other sites

  • 1 year later...

elle est pas bête ton idée, je vois que le post est assez ancien, as tu résolu le pb depuis?

je cherche à faire un truc dans ce genre.

 

par contre je trouve dommage de désactiver la case bons de réduction.

l'idée que je souhaiterais serait de faire par exemple avec FP offerts à partir de 100€ d'achats:

 

BA de 12€ :

le client prend pour 110€ d'achats dont 12€ de BA, frais de port payant (car montant hors fidelité = 98€)

le client prend pour 115€ d'achats dont 12€ de BA, frais de port offerts (car montant hors fidelité = 103€)

Link to comment
Share on other sites

  • 1 year later...

bonjour

avez vous trouvé une solution j'ai le meêm soucis j'aimerais arriver a cela egalement :
BA de 12€ :
le client prend pour 110€ d'achats dont 12€ de BA, frais de port payant (car montant hors fidelité = 98€)
le client prend pour 115€ d'achats dont 12€ de BA, frais de port offerts (car montant hors fidelité = 103€)

 

cdlt

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