2013-07-03 2 views
0

Я переписал 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 вызвать метод _saveCategories из MyCompany_Catalog_Model_Resource_Product, но это не так, он вызывает метод _saveCategories из Mage_Catalog_Model_Resource_Product.

Может кто-нибудь дать мне понять, почему это происходит?

Я думаю, что класс был переписан правильно, echo get_class(Mage::getModel('catalog/resource_product')); дисплеев MyCompany_Catalog_Model_Resource_Product

ответ

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> 

И это работает.

Смежные вопросы