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

时间:2015-01-10 18:31:06

标签: 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>
        </rewrite>
    </rule>
</models>

我已将文件放入: 应用\代码\本地\ MyModule的\折扣\模型\ 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();
    }
}

我错过了什么,我做错了什么?

1 个答案:

答案 0 :(得分:2)

您需要将文件放入

MyModule / Discount / Model / Rule / Condition / Combine.php以相同方式更改combine.php中的类名

MyModule_Discount_Model_Rule_Condition_Combine

您错过了模块中的Rule文件夹。

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