我有问题要覆盖Mage_Catalog_Model_Resource_Product_Attribute_Backend_Media
。
这是我做的:
config.xml
<?xml version="1.0"?>
<config>
<modules>
<Xx_Catalog>
<version>0.1.0</version>
</Xx_Catalog>
</modules>
<global>
<models>
<xx_catalog>
<class>Xx_Catalog_Model</class>
</xx_catalog>
<catalog_resource>
<rewrite>
<product_attribute_backend_media>
Xx_Catalog_Model_Resource_Product_Attribute_Backend_Media
</product_attribute_backend_media>
</rewrite>
</catalog_resource>
</models>
</global>
Media.php
class Xx_Catalog_Model_Resource_Product_Attribute_Backend_Media extends Mage_Catalog_Model_Resource_Product_Attribute_Backend_Media
{
public function loadGallery($product, $object){
echo "test";
die();
}
}
这是错误:
致命错误:在第51行的/magento/app/code/core/Mage/Catalog/Model/Product/Attribute/Backend/Media.php中的非对象上调用成员函数loadGallery()
你知道怎么改写这个班吗? 我有Magento 1.9.3.3
由于
---------成功----------
我必须将catalog_resource
更改为catalog_resource_eav_mysql4
:
<catalog_resource_eav_mysql4>
<rewrite>
<product_attribute_backend_media>Xx_Catalog_Model_Resource_Eav_Mysql4_Product_Attribute_Backend_Media</product_attribute_backend_media>
</rewrite>
</catalog_resource_eav_mysql4>
答案 0 :(得分:0)
在 config.xml 文件中,您必须从<resource_product_attribute_backend_media>
更改为<product_attribute_backend_media>
,如下所示:
<?xml version="1.0"?>
<config>
<modules>
<Xx_Catalog>
<version>0.1.0</version>
</Xx_Catalog>
</modules>
<global>
<models>
<xx_catalog>
<class>Xx_Catalog_Model</class>
</xx_catalog>
<catalog_resource>
<rewrite>
<product_attribute_backend_media>
Xx_Catalog_Model_Resource_Product_Attribute_Backend_Media
</product_attribute_backend_media>
</rewrite>
</catalog_resource>
</models>
</global>