我重写了Mage_Catalog_Model_Resource_Product并将方法_saveCategories添加到我的班级 MyCompany_Catalog_Model_Resource_Product。
这是我的代码:
$p = Mage::getModel('catalog/product')->load(32);
$p->setCategoryIds(array('0'=>14));
$p->save();
产品保存后,我希望Magento从MyCompany_Catalog_Model_Resource_Product调用_saveCategories方法,但它没有,它从Mage_Catalog_Model_Resource_Product调用_saveCategories方法。
有人可以告诉我为什么会这样吗?
我认为课程被正确重写,echo get_class(Mage::getModel('catalog/resource_product'));
显示MyCompany_Catalog_Model_Resource_Product
答案 0 :(得分:0)
我在config.xml中犯了错误,我忽略了覆盖资源与覆盖模块不同的事实:
我在config.xml中有这段代码
<catalog>
<rewrite>resource_product>MyCompany_Catalog_Model_Catalog_Resource_Product</resource_product></rewrite>
</catalog>
将其更改为:
<catalog_resource>
<rewrite>
<product>MyCompany_Catalog_Model_Resource_Product</product>
</rewrite>
</catalog_resource>
它有效。