I've used the following function to retrieve the products to display products on a widget filtered by catalog rules. The products listed in view page shows that rules are applied.
But the function
getMatchingProductIds() retrieves all product IDs other than applied products
$catalog_rule = Mage::getModel('catalogrule/rule')->load(2); $skus = $catalog_rule->getMatchingProductIds(); print_r($skus);
How to retrieve the products on which the rule is applied?