2 added 29 characters in body
source | link

If you followed the customaziation for adding negative discount in this question https://magento.stackexchange.com/a/261752/76597 there should be correct price entries in the table catalogrule_product_price for the corresponding products.

-- change the values with those of your rule / prodcut you want to check and the actual date
select * from catalogrule_product_price where rule_date = '2019-02-15' and  customer_group_id = 0 and product_id = 44;

If you find that entry your rule is working.

There is only one more hint: In Mage_CatalogRule_Model_Observer there are two checks where the rule price is only applied, if it is below the regular price. Therefore you have to overwrite the two methods processFrontFinalPrice($observer) and processAdminFinalPrice($observer) and replace and bypass that check. For example like this:

if ($this->_rulePrices[$key]!==false) {
     // $finalPrice = min($product->getData('final_price'), $this->_rulePrices[$key]);
        $finalPrice = $this->_rulePrices[$key];
        $product->setFinalPrice($finalPrice);
    }

I hope that helps.

If you followed the customaziation in this question https://magento.stackexchange.com/a/261752/76597 there should be correct price entries in the table catalogrule_product_price for the corresponding products.

-- change the values with those of your rule / prodcut you want to check and the actual date
select * from catalogrule_product_price where rule_date = '2019-02-15' and  customer_group_id = 0 and product_id = 44;

If you find that entry your rule is working.

There is only one more hint: In Mage_CatalogRule_Model_Observer there are two checks where the rule price is only applied, if it is below the regular price. Therefore you have to overwrite the two methods processFrontFinalPrice($observer) and processAdminFinalPrice($observer) and replace and bypass that check. For example like this:

if ($this->_rulePrices[$key]!==false) {
     // $finalPrice = min($product->getData('final_price'), $this->_rulePrices[$key]);
        $finalPrice = $this->_rulePrices[$key];
        $product->setFinalPrice($finalPrice);
    }

I hope that helps.

If you followed the customaziation for adding negative discount in this question https://magento.stackexchange.com/a/261752/76597 there should be correct price entries in the table catalogrule_product_price for the corresponding products.

-- change the values with those of your rule / prodcut you want to check and the actual date
select * from catalogrule_product_price where rule_date = '2019-02-15' and  customer_group_id = 0 and product_id = 44;

If you find that entry your rule is working.

There is only one more hint: In Mage_CatalogRule_Model_Observer there are two checks where the rule price is only applied, if it is below the regular price. Therefore you have to overwrite the two methods processFrontFinalPrice($observer) and processAdminFinalPrice($observer) and replace and bypass that check. For example like this:

if ($this->_rulePrices[$key]!==false) {
     // $finalPrice = min($product->getData('final_price'), $this->_rulePrices[$key]);
        $finalPrice = $this->_rulePrices[$key];
        $product->setFinalPrice($finalPrice);
    }

I hope that helps.

1
source | link

If you followed the customaziation in this question https://magento.stackexchange.com/a/261752/76597 there should be correct price entries in the table catalogrule_product_price for the corresponding products.

-- change the values with those of your rule / prodcut you want to check and the actual date
select * from catalogrule_product_price where rule_date = '2019-02-15' and  customer_group_id = 0 and product_id = 44;

If you find that entry your rule is working.

There is only one more hint: In Mage_CatalogRule_Model_Observer there are two checks where the rule price is only applied, if it is below the regular price. Therefore you have to overwrite the two methods processFrontFinalPrice($observer) and processAdminFinalPrice($observer) and replace and bypass that check. For example like this:

if ($this->_rulePrices[$key]!==false) {
     // $finalPrice = min($product->getData('final_price'), $this->_rulePrices[$key]);
        $finalPrice = $this->_rulePrices[$key];
        $product->setFinalPrice($finalPrice);
    }

I hope that helps.