Как переопределить модель Magento в подкаталоге?


Я пытаюсь переопределить функцию в Mage_CatalogRule_Model_Rule, но не могу заставить ее работать.

Config.xml

<config>
    <global>
        <models>
            <rule>
                <rewrite>
                    <rule>Apptha_Timer_Model_CatalogRule_Model_Rule</rule>
                </rewrite>
            </rule>
        </models>
    </global>
</config>

/app/code/local/Apptha/Timer/Model/CatalogRule/Model/Rule.php

class Apptha_Timer_Model_CatalogRule_Model_Rule extends Mage_CatalogRule_Model_Rule {
    protected function _convertFlatToRecursive(array $data) {
        //not called
    }
}

Чего мне не хватает? Я был в состоянии переопределять контроллеры и блоки просто отлично.

Author: Obay, 2013-12-10

1 answers

<global>
    <models>
        <catalogrule>
            <rewrite>
                <rule>Apptha_Timer_Model_CatalogRule_Model_Rule</rule>
            </rewrite>
        </catalogrule>
    </models>
</global>

Узел моделей должен быть пространством имен модуля. Если вы создадите экземпляр правила с помощью Mage::getModel('catalogrule/rule'), это должно быть catalogrule

Это пространство имен можно найти здесь:

/app/code/core/Mage/CatalogRule/etc/config.xml
 4
Author: Fabian Blechschmidt, 2013-12-11 09:40:14