Overwrite Mage\Rule\Model\Condition\Combine.php

495 Views Asked by At

With my Magento module I would like to overwrite Mage\Rule\Model\Condition\Combine.php with my class. In my etc/MyModule_Discount.xml I used:

<models>
    <rule>
        <rewrite>
            <condition_combine>MyModule_Discount_Model_Combine</condition_combine>
        </rewrite>
    </rule>
</models>

I've placed the file in: app\code\local\MyModule\Discount\Model\Combine.php

/**
 * @method string getAggregator()
 */
class MyModule_Discount_Model_Combine extends Mage_Rule_Model_Condition_Combine
{

    public function validate(Varien_Object $object)
    {
        Mage::Log("Say HI!");
        echo "Say HI!";
        die();
    }
}

What am I missing, what am I doing wrong?

1

There are 1 best solutions below

0
Shyam Ranpara On

You need to put your file in

MyModule/Discount/Model/Rule/Condition/Combine.php same way change class name in combine.php

MyModule_Discount_Model_Rule_Condition_Combine

you have missed Rule folder in your module.

in config.xml

You need to change your code also:

<models>
  <discount>
    <class>MyModule_Discount_Model</class>
    <resourceModel>discount_mysql4</resourceModel>
  </discount>
        <rule>
            <rewrite>
                <condition_combine>MyModule_Discount_Model_Rule_Condition_Combine</condition_combine>
            </rewrite>
        </rule>
</models>