Magento 覆盖Mage\Rule\Model\Condition\Combine.php

Magento 覆盖Mage\Rule\Model\Condition\Combine.php,magento,magento-1.7,magento-1.8,magento-1.5,magento-1.6,Magento,Magento 1.7,Magento 1.8,Magento 1.5,Magento 1.6,对于我的Magento模块,我想用我的类覆盖Mage\Rule\Model\Condition\Combine.php。在我的etc/MyModule_Discount.xml中,我使用了: <models> <rule> <rewrite> <condition_combine>MyModule_Discount_Model_Combine</condition_combine>

对于我的Magento模块,我想用我的类覆盖Mage\Rule\Model\Condition\Combine.php。在我的etc/MyModule_Discount.xml中,我使用了:

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

我遗漏了什么,我做错了什么?

你需要把你的文件放进去

MyModule/Discount/Model/Rule/Condition/Combine.php以相同的方式更改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();
    }
}
MyModule\u折扣\u模型\u规则\u条件\u组合

您的模块中缺少规则文件夹

在config.xml中

您还需要更改代码:

<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>

MyModule_折扣_模型
折扣(mysql4)
MyModule\u折扣\u模型\u规则\u条件\u组合