Перезаписать Mage\Rule\Model\Condition\Combine.php

С моим модулем 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>

Я поместил файл в: 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();
    }
}

Что мне не хватает, что я делаю не так?

1 ответ

Вы должны положить свой файл в

MyModule/Discount/Model/Rule/Condition/Combine.php аналогичным образом меняют имя класса в comb.php

MyModule_Discount_Model_Rule_Condition_Combine

вы пропустили папку правил в вашем модуле.

в 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>
Другие вопросы по тегам