2

i have different cataloge price rules for different products of different categories.

Now i want to add a new minus discount to a category with 60 products (-5%), which i implemented successfully. But only 1 product (that has already a discount) gets a new price. The other products arent affected and i dont know why. I want a new catalog price rule that affect ALL products of one category and increase the price by e.g 5%, whether they have a discount or not.

0

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.

  • Thank you for your answer. I changed the code in "Mage_CatalogRule_Model_Observer" - now the new higher price shows up on every site (cart, detail site) exept the category page. There is the old price without the negative discount.... – Christian Stegemann Feb 21 at 15:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.