如果您开发的个人扩展应该仅适用于在Magento 1.6+上进行的项目构建,那么就不用担心。您仅应Mage_Catalog_Model_Resource_Category_Flat
通过在config.xml
扩展文件中添加此代码来覆盖它:
<models>
<catalog_resource>
<rewrite>
<category_flat>Namespace_Module_Model_Resource_Category_Flat</category_flat>
</rewrite>
</catalog_resource>
</models>
如果要构建扩展,并且希望其在1.6之前的版本上运行,则还需要覆盖Mage_Catalog_Model_Resource_Eav_Mysql4_Category_Flat
该类。在这种情况下,您的config.xml
部分应如下所示:
<models>
<catalog_resource><!--used for 1.6+ -->
<rewrite>
<category_flat>Namespace_Module_Model_Resource_Category_Flat</category_flat>
</rewrite>
</catalog_resource>
<catalog_resource_eav_mysql4><!-- used for versions before 1.6 -->
<rewrite>
<category_flat>Namespace_Module_Model_Resource_Eav_Mysql4_Category_Flat</category_flat>
</rewrite>
</catalog_resource_eav_mysql4>
</models>
您应该输入所有逻辑,Namespace_Module_Model_Resource_Category_Flat
并且1.6之前版本的类应如下所示:
class Namespace_Module_Model_Resource_Eav_Mysql4_Category_Flat extends Namespace_Module_Model_Resource_Category_Flat
{
}
这样,两个版本都使用相同的代码。