Из комментариев к принятому ответу, на который ссылается Zyava, вы можете проверить исходный файл модуля config.xml
, чтобы увидеть, какие модели определены.Как только вы это узнаете, синтаксис для их переопределения будет прежним.
Модуль каталога имеет эту модель, определенную для ресурсов:
<global>
<models>
....
<catalog_resource>
<class>Mage_Catalog_Model_Resource</class>
...
</catalog_resource>
</models>
</global>
(Примечание. Класса Mage_Catalog_Model_Resource
не существует,но это нормально, потому что Magento будет использовать это как базу для вызова всех связанных моделей.)
Теперь мы знаем, что нам следует использовать catalog_resource
в качестве контейнера XML для перезаписи, и мы знаем, что мы должны использовать текст, которыйпосле имени ресурса в имени класса модели создается контейнер XML со ссылкой на конкретную модель, которую мы хотим переопределить.
core/Mage/Catalog/Model/Resource/Product/Indexer/Price/Default.php
xxxxxxxxxx----------------------|-----------------------------xxxx
split
Catalog/Model/Resource -> catalog_resource
Product/Indexer/Price/Default -> product_indexer_price_default
Вот как это должно выглядеть в файле config.xml
пользовательского модуля:
<global>
<models>
<catalog_resource>
<rewrite>
<product_indexer_price_default>CompanyName_ModuleName_Model_Catalog_Resource_Product_Indexer_Price_Default</product_indexer_price_default>
<rewrite>
</catalog_resource>
</models>
</global>
Какое имя класса вы переопределяете, зависит от конфигурации вашего модуля.Пример, который я использовал (CompanyName_ModuleName_Model_Catalog_Resource_Product_Indexer_Price_Default
), соответствует образцу файлов, который я обычно использую.Похоже, у вас что-то вроде этого:
My_Module_Catalog_Model_Resource_Product_Indexer_Price_Default