在类别中设置产品位置

时间:2013-07-03 09:19:07

标签: magento resources rewrite product

我重写了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

1 个答案:

答案 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>

它有效。