Jump to content

Réduction sur la 1ère commande uniquement : comment faire ?


sunnmagic

Recommended Posts

Cette règle n’empêche pas un client qui a déjà commandé d’utiliser le bon sur une prochaine commande :/

Là il s’agit de laisser la possibilité aux clients d’utiliser le bon sur leur toute première commande, et non pas les suivantes.

Link to comment
Share on other sites

Ah bon ?

Quantité limitée par client: 1 <- En français, ça veut dire 1 seule fois, donc il ne pourront pas l'utiliser sur les prochaines commandes.

Ensuite, si les anciens client peuvent en bénéficier une fois ça ne me gêne pas au contaire.

Link to comment
Share on other sites

Bonjour,

Cas du client qui a passé sa première commande sans utiliser la réduction sur celle-ci car il ne l'avait pas vu par exemple.

Il serait normal qu'il puisse s'en servir au moins 1 fois sinon il se sentira laissé et il risque de ne pas repasser commande.

Donc autant laisser votre client s'en servir 1 fois sur 1 de ses commandes même si ce n'est pas la première, Ce bon, favorisera peut-être sa deuxième commande et lui donnera un sentiment de faire une bonne affaire.

Sinon, vous rencontrerez certains clients malins qui ont raté le bon de réduction ou qui le voudront à chaque commande. Ils n'hésiteront pas à recréer un compte pour bénéficier de l'offre à chaque commande car seule l'adresse mail est prise en compte pour limiter la quantité utilisable de bon 1x/ client. 

Auchan drive si tu m'entends :ph34r:

La parade à ces clients est les points fidélité, il devront à chaque fois utiliser leur compte et ne pas en recréer un.

Comme dit Eolia ce n'est pas gênant, loin de la, c'est un levier de conversion pour la première commande et si pas utilisé de fidélisation pour la deuxième.

Bonne continuation

Link to comment
Share on other sites

  • 6 months later...
On 09/04/2018 at 10:11 PM, sunnmagic said:

Ca, je sais le faire en effet, mais ce n’est pas ma demande, qui s’avère donc impossible nativement 😕

 

On 09/04/2018 at 3:58 PM, sunnmagic said:

Cette règle n’empêche pas un client qui a déjà commandé d’utiliser le bon sur une prochaine commande :/

Là il s’agit de laisser la possibilité aux clients d’utiliser le bon sur leur toute première commande, et non pas les suivantes.

 

On 09/04/2018 at 3:58 PM, sunnmagic said:

Cette règle n’empêche pas un client qui a déjà commandé d’utiliser le bon sur une prochaine commande :/

Là il s’agit de laisser la possibilité aux clients d’utiliser le bon sur leur toute première commande, et non pas les suivantes.

 

Link to comment
Share on other sites

  • 2 months later...
  • 2 months later...

Bonjour à tous,

je remonte ce post car confronté au même problème, j'ai choisi (via un petit module) de "ranger" les nouveaux inscrits dans un groupe "nouveaux clients" sur lequel j'applique une règle panier de remise valable 1 fois par client. 

Mais cela ne fonctionne pas super bien.

Alors j'ai une question: sachant que le nouvel inscrit sera dans les groupes "clients" et "nouveaux clients" avec "clients" comme groupe par défaut et que ma règle panier ne s'applique qu'à "nouveaux clients", faut-il que le groupe par défaut soit "nouveaux clients" ?

D'avance merci.

 

Link to comment
Share on other sites

  • 7 months later...

Mettez une prorité de 1000 à cette règle.

Dans cartRule, fonction checkValidity() ajoutez juste après

        if ($context->cart->id_customer) {

vers la ligne 588, le code suivant

if($this->priority == 1000) {	
	$customer = new Customer((int)$context->cart->id_customer);			
	if($customer->getBoughtProducts())
		return (!$display_error) ? false : Tools::displayError('You can not use this voucher because you have already placed an order on our website');
}

 

Link to comment
Share on other sites

  • 7 months later...

Bonjour @ Eolia
 

je suis en train de tester votre regle pour limiter un code promo uniquement a la 1ere commande ...

SVP est il possible de mettre un bouton qui permettrait d'enclencher ou pas cette limitation  ?

Merci d'avcance pour votre retour

Link to comment
Share on other sites

Merci pour votre réponse rapide ... par contre mettre la quantité a 1  si je ne me trompe  pas ne va pas limiter a la 1ere commande  uniquement ?

nous ne voulons pas que cela s'applique à toutes les règles panier

 

nous voulons vraiment avoir la possibilité limiter  une promo a la 1ere commande ... si une commande a déjà été effectuée  le code promo ne pourra plus s'appliquer

merci

 

Edited by bretweb (see edit history)
Link to comment
Share on other sites

  • 2 years later...

Bonjour,

Petit UP pour ce post, voici une alternative au code de Eolia qui m'a bien dépanné et que je remercie pour son code. La version suivante est également à écrire dans Classes/CartRule.php après la condition if ($context->cart->id_customer) dans checkValidity() . Ce code fonctionne très bien sur les versions 1.7.6.7 et 1.7.8.8 . Non testé sur la 8.

// Code pour limiter les réductions dont la priorité 1000 aux clients dont c'est la première commande
        if ($this->priority == 1000) {
        
            if ($context->cart->id_customer) {
                $customerHasOrders = Db::getInstance()->getValue('
                SELECT COUNT(*) 
                FROM '._DB_PREFIX_.'orders 
                WHERE id_customer = '.(int)$context->cart->id_customer.'
            ');
            if ($customerHasOrders) {
                    return (!$display_error) ? false : $this->trans('Ce bon de réduction est uniquement valable sur une première commande', array(), 'Shop.Notifications.Error');
                }
            }
        }

 

Bonne journée à vous !

2ni

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