Скидка от количества товара в корзине

Сейчас есть скидки на товар одного и того же типа от количества, но нужна процентная скидка, допустим, от 2х товаров в корзине 5% скидка, от 3х и более товаров 10% скидка к стоимости всего заказа. Как это реализовать в корзине в этом коде?

// Product Discounts
            $discount_quantity = 0;

            foreach ($cart_query->rows as $cart_2) {
                if ($cart_2['product_id'] == $cart['product_id']) {
                    $discount_quantity += $cart_2['quantity'];
                }
            }

            $product_discount_query = $this->db->query("SELECT price FROM " . DB_PREFIX . "product_discount WHERE product_id = '" . (int)$cart['product_id'] . "' AND customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND quantity <= '" . (int)$discount_quantity . "' AND ((date_start = '0000-00-00' OR date_start < NOW()) AND (date_end = '0000-00-00' OR date_end > NOW())) ORDER BY quantity DESC, priority ASC, price ASC LIMIT 1");

            if ($product_discount_query->num_rows) {
                $price = $product_discount_query->row['price'];
            }
            if($product_discount_query)

            // Product Specials
            $product_special_query = $this->db->query("SELECT price FROM " . DB_PREFIX . "product_special WHERE product_id = '" . (int)$cart['product_id'] . "' AND customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND ((date_start = '0000-00-00' OR date_start < NOW()) AND (date_end = '0000-00-00' OR date_end > NOW())) ORDER BY priority ASC, price ASC LIMIT 1");

            if ($product_special_query->num_rows) {
                $price = $product_special_query->row['price'];
            }

            // Reward Points
            $product_reward_query = $this->db->query("SELECT points FROM " . DB_PREFIX . "product_reward WHERE product_id = '" . (int)$cart['product_id'] . "' AND customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "'");

            if ($product_reward_query->num_rows) {
                $reward = $product_reward_query->row['points'];
            } else {
                $reward = 0;
            }

Ответы (0 шт):