2010-11-18 22 views
1

誰かがこれを助けることができるかどうか分かりませんか?Magento - 計算された価格の上にパーセンテージを追加

基本料金ではなく、計算された価格の上にパーセンテージを追加する必要があります。

ベース価格=£10

選択1 オプション1 +£10 オプション2 +£20

選択2 オプション1 + 10% オプション2 + 20%

我々 baseprice +(選択肢1の選択肢1)を計算し、次にその部分合計を基礎価格ではなくその小計価格に追加する必要がある(選択肢2の選択肢1)。

今まで見たことから、すべてのパーセンテージがベースプライスで計算され、小計ではないので、これはすべて可能ですか?

答えて

2

大まかに言えば、店舗内の他の製品で引き続き使用される「シンプルな」製品タイプを変更せずにこのカスタム計算を提供できるように、カスタム製品タイプを作成する必要があります。実際の作業はその価格モデルで行われます。新しいタイプの定義

は簡単です:

<config> 
    <global> 
     <catalog> 
      <product> 
       <type> 
        <CUSTOM> 
         <label>CUSTOM PRODUCT TYPE</label> 
         <model>catalog/product_type_abstract</model> 
         <priceModel>YOURMODULE/product_type_CUSTOM<priceModel> 
        </CUSTOM> 
       </type> 
      </product> 
     </catalog> 
    </global> 
</config> 

モジュールは、そうでない場合は、製品の編集ページには表示されません、カスタムタイプに様々な価格関連の属性を割り当てan install scriptを必要とします。

これで、Mage_Catalog_Model_Product_Type_Priceに下がるべきクラスYOURMODULE_Model_Product_Type_CUSTOM_Priceが予想されます。新しいクラスは次のメソッドをオーバーライドする必要があります:

protected function _applyOptionsPrice($product, $qty, $finalPrice) 

親の方法を参照してください。

おそらく、すべての製品オプションをループして、固定価格とパーセンテージの合計を1つずつ合計すると思います。固定価格を基本価格に追加し、パーセント値を掛けます。

残っているのは、新しいタイプを使用して管理者に新しい製品を追加することだけです。

+1

あなたはそれをとても簡単にする:) –

関連する問題