THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Bonjour,

Je cherche à effectuer des remises sur le total HT de mon panier selon le nombre de produit dans celui-ci (5% si 10 produits ou plus, 10% si 60 produits ou plus, etc...). J'ai vu que ce que je souhaitais faire était géré dans les codes promo, le problème est que je voudrais activer ce code automatiquement si une condition est remplie et non pas le faire saisir. (comme le plugin incitation de la v1). De plus j'aurai par la suite sans doute besoin d'offrir un produit selon le contenu de mon panier donc il me faut vraiment trouver la solution à ce problème.

Merci d'avance !

Offline


Bonjour,

Je me replonge dans ce problème. J'avais réussi à "régler" mon problème en activant un code promo avec ajax mais cette solution ne me convient pas. Ce que je souhaite c'est surtout appliquer une remise dès le panier.
J'ai donc crée dans un eventlistener qui intercepte les événements liés au panier. Cela me permet de récupérer le nombre d'article dans mon panier dès qu'il change. Grâce à ce nombre je calcule la remise que je dois appliquer.

public function ApplyDiscount(CartEvent $event)
    {
        $cart= $event->getCart();
        .
        .
        .
        $cart->SetDiscount($discount);

Si je récupère la valeur du total H.T et de la remise actuel de cette manière

 $discount = $cart->getDiscount();
 $totalht = $cart->getTotalAmount();

Je vois que ma remise a bien été effectué. Le problème est que rien ne change dans le panier de mon front, aucune remise dans la table cart enfin bref je ne sais pas du tout ou est cette remise. Je ne suis pas contre un peu d'aide avec ce problème ! merci.