I'm[EDIT] Ok, don't bother reading all the following suff, I just noticed I was saving my module's config.xml file in the module's root directory instead of etc directory... So it works fine now. Maybe my explanations can help someone else though. TPs 1 to 4 (model, block, resource model, helper rewrites) are ok. [/EDIT]
Hello ! I'm pretty new to Magento, following a tutorial where I'm supposed to rewrite components. I'm working on a brand new install with Magento website's sample data. So far, model, block and helper rewriting worked fine, although I can't make Product Resource Model rewriting work. My new resource model class is plainly ignored. Maybe you could help?
<?xml version="1.0" encoding="UTF-8"?> <config> <modules> <First_Module> <version>1.0</version> </First_Module> </modules> <global> <!-- TP 1 Override Catalog Product Model --> <models> <catalog> <rewrite> <product>First_Module_Model_Product</product> </rewrite> </catalog> <!-- TP3 Override Catalog Product Resource Model --> <!-- FAIL #1 :--> <catalog_resource> <rewrite> <product>First_Module_Model_Resource_Product</product> </rewrite> </catalog_resource> <!-- FAIL #2 : --> <!-- <catalog_resource_eav_mysql4> <rewrite> <product>First_Module_Model_Resource_Product</product> </rewrite> </catalog_resource_eav_mysql4> --> </models> <!-- TP2 Override Catalog Product View Block --> <blocks> <catalog> <rewrite> <product_view>First_Module_Block_Product_View</product_view> </rewrite> </catalog> </blocks> <!-- TP4 Override Sales Helper --> <!-- TP5 Override Customer Address Helper --><helpers> <helpers><sales> <catalog><rewrite> <rewrite><data>First_Module_Helper_Data</data> <data>First_Module_Helper<</data>rewrite> </rewrite>sales> </catalog>helpers> <!-- TP5 </helpers> Override Customer Address Helper --> </global> </config> <?php // chargement du minimum de magento pour les tests include 'app/Mage.php'; umask(0); Mage::app(); /* Overrides : - catalog product model - catalog product view block - catalog product resource model - sales helper - customer address helper - Display changed class in cms index controller - Revert all changes in core files */ /*********** TP 1 Override Catalog Product Model **********/ $model = Mage::getModel('catalog/product'); echo get_class( $model ); // affiche Mage_Catalog_Model_Product var_dump($model->getName()); // affiche null car l'instance de product ne contient aucune donnée // charge les données d'un produit en mémoire // $model = Mage::getModel('catalog/product')->load(166); $model->load(166); var_dump($model->getName()); // affiche string(17) "HTC Touch Diamond" /************** TP2 Override Catalog Product View Block ***************/ $block = Mage::app() ->getLayout() ->createBlock('catalog/product_view'); echo '<br/><br/>'.get_class( $block ); echo ' '.$block->test(); /************** TP3 Override Catalog Product Resource Model ***************/ $rm = Mage::getResourceModel('catalog/product'); echo '<br/><br/>'.get_class( $rm ); /************** TP4 Override Sales Helper ***************/ $helper = Mage::helper('sales'); echo '<br/><br/>'.get_class( $helper ); /************** TP5 Override Customer Address Helper ***************/ /************** TP6 Display changed class in cms index controller ***************/