Jump to content

Règle panier avec produits cadeaux proportionnels


Recommended Posts

Bonjour,

Je souhaite créer une règle de panier avec un produit cadeau pour 10 produits achetés :

par exemple si vous achetez 10 produits X, vous recevez 1 produit X supplémentaire. Ceci est géré nativement par la règle de panier. Ce que je voudrais, c'est qu'à partir de 20 produits X, vous ne receviez pas 1 produit X, mais 2 produits X, 3 à partir de 30 etc...

Savez-vous comment cela peut être géré ?

Voici une partie de mon code actuel qui gère l'ajout d'une règle de panier

$cartRule = new CartRule();

        if($id_customer) {
            $cartRule->id_customer = $id_customer;
        }

        $cartRule->name = array($this->langId => "test_promoX+Y");
        $cartRule->date_from = $date_formated;
        $cartRule->date_to = "2050-01-01";
        $cartRule->active = true;
        if($id_group) {
            $cartRule->group_restriction = true;
        }
        $cartRule->product_restriction = true;

        if($id_product) {
            $cartRule->gift_product = $id_product;
        }


        $cartRule->save();

        $id_cart_rule = $cartRule->id;

        if($id_group > 0)
        {
            $groupRestriction = \Db::getInstance()->getValue(
                "INSERT INTO
                "._DB_PREFIX_."cart_rule_group
                (id_cart_rule, id_group)
                VALUES ($id_cart_rule, $id_group)
                " );
        }
        if($id_product > 0)
        {
            $type = 1;

            Db::getInstance()->execute(
                "INSERT INTO " . _DB_PREFIX_ . "cart_rule_product_rule_group
                 (id_cart_rule, quantity)
				VALUES ($id_cart_rule, 1)");
            $id_product_rule_group = \Db::getInstance()->Insert_ID();

            Db::getInstance()->execute(
                "INSERT INTO " . _DB_PREFIX_ . "cart_rule_product_rule
                    (id_product_rule_group, type)
                    VALUES ($id_product_rule_group, $type)");
            $id_product_rule = Db::getInstance()->Insert_ID();

            Db::getInstance()->execute(
                "INSERT INTO " . _DB_PREFIX_ . "cart_rule_product_rule_value
                    (id_product_rule, id_item)
                    VALUES ($id_product_rule, $id_product)");

        }
        return true;
    }

Merci d'avance !

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