Jump to content

Edit History

Nietypowy Informatyk

Nietypowy Informatyk

Hi! 

I am working on a module, where the user can configure the product etc. I am on the step, where I can add product to cart with proper price (including parameters, custom quantity etc.) - the last thing that I have to do is to add a discount - I have already done the part of calculating a discount based on some factors, and my question is why adding specific price has no effect on products in cart. 

Here is what I'm trying to make:

 protected function addDiscount() {
		// class responsible for getting discount configured in backoffice
        $discountManager = new ApDiscounts($this->id_product);
        $discountValue = $discountManager->getDiscountForQuantity($this->qty);
		
		// if there is no discount then early return
        if (!$discountValue) {
            return;
        }
	
		// otherwise add new specific price
        $specificPrice = new SpecificPrice();
        $specificPrice->id_product = $this->id_product;
        $specificPrice->id_product_attribute = (int)$this->id_product_attribute;
        $specificPrice->id_shop = 1;
        $specificPrice->id_currency = 0;
        $specificPrice->id_country = 20;
        $specificPrice->id_group = 0;
        $specificPrice->id_customer = 0;
        $specificPrice->price = '-1';
        $specificPrice->from_quantity = 1;
        $specificPrice->reduction = 10;
        $specificPrice->reduction_type = 'amount';
        $specificPrice->reduction_tax = 1;

        $specificPrice->from = date("Y-m-d H:i:s");
        $specificPrice->to = date("Y-m-d H:i:s", time() + 3600);

        $specificPrice->add();
    }

 

Nietypowy Informatyk

Nietypowy Informatyk

Hi! 

I am working on a module, where the user can configure the product etc. I am on the step, where I can add product to cart with proper price (including parameters, custom quantity etc.) - the last thing that I have to do is to add a discount - I have already done the part of calculating a discount based on some factors, and my question is why adding specific price has no effect on products in cart. 

Here is what I'm trying to make:

protected function addDiscount() {
        $specificPrice = new SpecificPrice();
        $specificPrice->id_product = $this->id_product;
        $specificPrice->id_product_attribute = (int)$this->id_product_attribute;
        $specificPrice->id_shop = 1;
        $specificPrice->id_currency = 0;
        $specificPrice->id_country = 20;
        $specificPrice->id_group = 0;
        $specificPrice->id_customer = 0;
        $specificPrice->price = '-1';
        $specificPrice->from_quantity = 1;
        $specificPrice->reduction = 10;
        $specificPrice->reduction_type = 'amount';
        $specificPrice->reduction_tax = 1;

        $specificPrice->from = date("Y-m-d H:i:s");
        $specificPrice->to = date("Y-m-d H:i:s", time() + 3600);

        $specificPrice->add();
    }

 

×
×
  • Create New...