PrestaShop Forums: [Patch] Rendre un voucher non-cumulable avec lui même - PrestaShop Forums

Jump to content


Welcome to the PrestaShop Forum! We hope you'll share your comments and suggestions with us. We ask that you please post in English to the main sections of the PrestaShop Forum. If you want to write in another language, please post in the corresponding PrestaShop Community section below.

Please note that PrestaShop Community sections are largely self-moderated. PrestaShop team members may or may not participate in non-English sections. To improve the chances of receiving feedback to your question or comment, please post it in English to the main sections of our Forum.

NYC

Vous parlez français ? par ici !


[Patch] Rendre un voucher non-cumulable avec lui même


[Patch] Rendre un voucher non-cumulable avec lui même

#1 Guest_Peha_*

  • --
  • Guests

Posted 06 May 2010 - 06:16 AM

Bonjour,

lorsqu'un voucher est cumulable, il l'est avec les autres vouchers mais aussi avec lui même.
Si bien que si un client en a plusieurs, il peut les ajouter aux panier jusqu'à arriver a 0.

Si il n'est pas cumulable on ne peut pas en ajouter plus d'1 par panier > ce qui est gênant dans le cas de vouchers limités à certaines catégories d'articles.

je veux donc que ces bons puissent être cumulables
VOUCHER -30% sur catégorie A
VOUCHER -25% sur catégorie B
VOUCHER -36% sur catégorie C

mais qu'il soit impossible de faire ceci :
VOUCHER -30% sur catégorie A
VOUCHER -30% sur catégorie A
VOUCHER -30% sur catégorie A
total Du panier = 0

|**|**| La solution |**|**|

classes/Cart.php l:816
remplacer

foreach ($discounts as $discount)
if (!$discount['cumulable']){
return Tools::displayError("previous voucher added isn't cumulative with other discounts");
}


par

foreach ($discounts as $discount){
if (!$discount['cumulable']){
return Tools::displayError("previous voucher added isn't cumulative with other discounts");
}
else{
if($discountObj->name == $discount['name']){
return Tools::displayError("you cannot use this voucher anymore (usage limit attained)");
}
}
}


#2 Guest__*

  • --
  • Guests

Posted 06 May 2010 - 09:41 AM

Bonjour,
Je viens de faire le changement et j'ai ceci comme erreur :

Parse error: syntax error, unexpected T_STRING in /var/www/cadrix.be/htdocs/boutique_pro/classes/Cart.php on line 826

Ne te fache pas, mais suis pas trop calé dans ce domaine.
Merci d'avance
Nico

#3 Guest__*

  • --
  • Guests

Posted 06 May 2010 - 10:01 AM

je cherche pkoi..
peut être une erreur lors de la retranscription du forum..

[édit]
chez moi ça marche.
- vérifie que tu n'as as emporté un } à la fin

#4 Guest__*

  • --
  • Guests

Posted 06 May 2010 - 10:14 AM

non jen ai bien deux, j'ai trouvé une différence avec ceci :
('you cannot use this voucher anymore (usage limit attained)); en général dans le site on trouve une virgule à la fin comme ceci :
('you cannot use this voucher anymore (usage limit attained)'); et quand je change cela bien l'erreur se trouve en ligne 855.
Alors je ne sais pas je vais encore essayer.
Voici partie :


if (!$discountObj->cumulable)
return Tools::displayError('this voucher isn\'t cumulative with other current discounts');
foreach ($discounts as $discount)
if (!$discount['cumulable']){
return Tools::displayError('previous voucher added isn\'t cumulative with other discounts');
}
else{
if($discountObj->name == $discount['name']){
return Tools::displayError('you cannot use this voucher anymore (usage limit attained));
}
}
if (is_array($discounts) AND in_array($discountObj->id, $discounts))
return Tools::displayError('this voucher is already in your cart');
if ($discountObj->id_customer AND $this->id_customer != $discountObj->id_customer)
{
if (!$cookie->isLogged())
return Tools::displayError('you cannot use this voucher').' - '.Tools::displayError('try to log in if you own it');
return Tools::displayError('you cannot use this voucher');
}

#5 Guest__*

  • --
  • Guests

Posted 06 May 2010 - 10:22 AM

RE, j'ai trouvé en effet j'ai oublié une } , mais il fallait bien aussi la virgule.
Maintenant vais voir si cela marche et te remercie encore beaucoup.
Nico

#6 Guest__*

  • --
  • Guests

Posted 06 May 2010 - 10:27 AM

Ok tout va bien et encore merci première fois que j'ai une réponse qui m'aide.

Encore merci pour tout ce que vous faite, c'est dommage que mon niveau informatique est très faible, car j'aiemrai comme vous pouvoir participer plus activement aux dévellopement j'adore mais pas le votre niveau.
Merci
a+
Nico

#7 Guest__*

  • --
  • Guests

Posted 06 May 2010 - 10:33 AM

c'est le forum qui enlève ce petit ' à cause du
isn't 

je l'ai remplacé par "


pour l'informatique
ça vient petit à petit... à force de bidouiller :)





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users