2

我正在尝试向层级定价添加一个新属性,当我尝试覆盖 tierprice 类时,当我尝试保存项目并且在前端我无法查看任何项目时,我得到“指定的后端模型无效:目录/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
4

2 回答 2

1

对我来说,您似乎在配置 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

具有类定义的文件夹结构

于 2013-01-26T09:22:59.477 回答
0

据我所知,您的文件 tierprice.php 应该大写,如果不这样做,请发布您的 Tierprice.php 文件

于 2013-01-26T06:04:04.643 回答