【问题标题】:Set product position in category在类别中设置产品位置
【发布时间】:2013-07-03 17:57:18
【问题描述】:

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

【问题讨论】:

    标签: magento resources rewrite product


    【解决方案1】:

    我在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>
    

    而且它有效。

    【讨论】:

      猜你喜欢
      • 2018-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-15
      • 2018-01-30
      • 1970-01-01
      相关资源
      最近更新 更多