2

ティア価格設定に新しい属性を追加しようとしていますが、ティア価格クラスをオーバーライドしようとすると、アイテムを保存しようとすると「無効なバックエンドモデルが指定されました: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
4

2 に答える 2

1

私にとっては、config xmlの3つのクラスを上書きしているように見えますが、フォルダー構造には1つしか存在しません。ここで説明するようにモジュールを試しましたが(コアファイルは変更せず、コピーしてクラス定義を変更しただけです)、同じエラーが発生します。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 に答える