Jump to content

Recommended Posts

Salut à tous.

Y a deux ou trois trucs que je n'arrive pas à comprendre sur les règles panier.

Je suis sous Prestashop 1.6.1.5.

Je veux offrir un cadeau aux clients qui commande un produit appartenant à une catégorie spécifique.

Donc j'ai créé une règle panier avec dans la partie Actions, l'Envoie d'un cadeau.

Déjà lorsque le client va sur un de ces produits permettant d'avoir ce cadeau, rien ne s'affiche sur la fiche du produit pour indiquer l'offre... ?

Donc au moment de la commande on voit le produit qui est offert.

Mais là, impossible de refuser le cadeau, pas de bouton Supprimer de prévu...

C'est pas prévu quelque part ? Faut donc bidouiller le code ?

MErci d'avance !

 

Edited by Pat_07
Résolu (see edit history)

Share this post


Link to post
Share on other sites

On ne refuse pas un cadeau^^

Blague à part, la réponse est oui, il faut bidouiller le code. Le bouton "supprimer" n’apparaît pas sinon vous partiriez en boucle infinie à cause de la règle automatique.

En effet à chaque suppression ou modification des quantités du panier, Prestashop recalcule les règles panier et donc, va remettre le cadeau si les conditions sont requises.

 

Solution simple: Créez un code pour cette règle et cochez "Mettre en avant", seuls ceux qui le voudront validerons cette offre.

Share this post


Link to post
Share on other sites

Merci @Eolia !

Je me doutais que ça paraissait trop simple de supprimer simplement

&& empty($product.gift)

dans le code... :)

Donc si j'ai bien compris ça veut dire qu'il faut que le client tape un code pour avoir le cadeau ?

Ca change quoi de cocher "Mettre en Avant" ? Simplement il va s'afficher dans le récapitulatif de la commande ?

On peut pas afficher cette regle lorsque le client passe sur la fiche du produit ?

Share this post


Link to post
Share on other sites

le client aura juste à cliquer dessus dans son récap panier, même pas besoin de le taper et prenez un code explicite: OFFRE_BIENVENUE par exemple

Pour votre fiche produit, vous mettez ce que vous voulez dans la description ou le résumé de votre produit hein^^

Share this post


Link to post
Share on other sites

Bien compris ça marche !

C'est juste dommage qu'on n'ait pas un affichage automatique des "cadeaux" (regle panier) associés aux produits.

Share this post


Link to post
Share on other sites

J'ai encore une question annexe.

Une fois que le client à taper le code de réduction, en l'occurence un cadeau qu'il ne peut recevoir qu'une fois, le code reste visible (car j'ai choisi Mettre en Avant).

Ma question est simple il ne disparait pas tout seul une fois ajouté au panier ???

MErci !

Share this post


Link to post
Share on other sites

Non car il est toujours valide tant que la commande n'a pas été finalisée, il ne sera plus dispo ensuite.

Share this post


Link to post
Share on other sites

Merci pour la réponse, c'est ce que je craignais...

Mais c'est pas un peu contradictoire ? Le code a été saisi, il est donc pris en compte dans le décompte de la commande, mais il apparait toujours comme si on pouvait à nouveau le saisir... ?

Share this post


Link to post
Share on other sites

Vous êtes en OnepageCheckout ?

Sur les 1.6 au moins, une fois que le code est dans le panier, il n'apparait plus dans les offres s'il n'est disponible qu'une fois.

        // Get available cart rules and unset the cart rules already in the cart
        $available_cart_rules = CartRule::getCustomerCartRules($this->context->language->id, (isset($this->context->customer->id) ? $this->context->customer->id : 0), true, true, true, $this->context->cart, false, true);
        $cart_cart_rules = $this->context->cart->getCartRules();
        foreach ($available_cart_rules as $key => $available_cart_rule) {
            foreach ($cart_cart_rules as $cart_cart_rule) {
                if ($available_cart_rule['id_cart_rule'] == $cart_cart_rule['id_cart_rule']) {
                    unset($available_cart_rules[$key]);
                    continue 2;
                }
            }
        }

 

Edited by Eolia (see edit history)

Share this post


Link to post
Share on other sites

MErci beaucoup Eolia !

Alors je suis en Prestashop 1.6.1.5 et onepage checkout, je ne sais pas si c'est mon thème mais il ne disparait pas automatiquement...
Ce code est censé être où?

Share this post


Link to post
Share on other sites

ce code est dans le controller mais effectivement en opc certains trucs merdouillent et je ne suis pas  sûr que cette fonction soit rappelée après l'ajout au panier (en 5 étape la page est rechargée totalement) ou alors oui, c'est un bug du thème

Share this post


Link to post
Share on other sites

Mouaip... J'ai bien ce code dans le fichier ParentOrderController, mais ça me marche pas.

en tout cas merci pour ton aide!

Share this post


Link to post
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...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More