magento-Model overriding

时间:2013-01-26 05:50:30

标签: magento-1.4 magento

我正在尝试为层定价添加新属性,当我尝试覆盖tierprice类时,当我尝试保存项目并在前端时,我得到“指定的无效后端模型:catalog / product_attribute_backend_tierprice”错误我无法查看任何项目

请帮帮我。

在我的config.xml中,我已将类定义为


<modules>
   <Mypackage_Catalog>
     <version>0.1.0</version>
   </Mypackage_Catalog>
</modules>


<global>
    <models>
        <catalog>
            <rewrite>
                <product_type_price>Mypackage_Catalog_Model_Product_Type_Price</product_type_price>
                <product_attribute_backend_tierprice>Mypackage_Catalog_Model_Product_Attribute_Backend_Tierprice</product_attribute_backend_tierprice>
            </rewrite>
        </catalog>                          
        <catalog_resource_eav_mysql4>
            <rewrite>
                <product_attribute_backend_tierprice>Mypackage_Catalog_Model_Resource_Eav_Mysql4_Product_Attribute_Backend_Tierprice</product_attribute_backend_tierprice>
            </rewrite>                          
        </catalog_resource_eav_mysql4>
    </models>
</global>


我的文件夹结构如

app\code\local\Mypackage\Catalog\Model\Resource\Eav\Mysql4\Product\Attribute\Backend\Tierprice.php

2 个答案:

答案 0 :(得分:1)

对我来说,似乎你在config xml中覆盖了3个类,但是你的文件夹结构中只存在一个类。我在这里描述了这个模块(但没有修改核心文件,只是复制它们并更改了类定义)并得到了同样的错误。在system.log中,此错误如下所示:

Failed opening 'Mypackage\Catalog\Model\Product\Attribute\Backend\Tierprice.php' for inclusion 

在您的文件夹结构中,您将需要以下文件(除现有文件外):

app\code\local\Mypackage\Catalog\Model\Product\Attribute\Backend\Tierprice.php
app\code\local\Mypackage\Catalog\Model\Product\Type\Price.php

folder strcture with class definitions

答案 1 :(得分:0)

从我看到的,您的文件tierprice.php应该大写,如果不这样做,请发布您的Tierprice.php文件