ここでの問題は、Magentoが異なるカスタムオプションの製品をカート内の異なるラインアイテムとして扱うことです。したがって、カスタムオプションの2つのバリアントの数量は、階層化された価格設定の特定の階層の見積もり項目を修飾できるようになることはありません。
さて、この作品を作るにはカスタムワークが必要になります。コード内で機能させるためにどこを見ることができるかについて、ポインタを示します。
チェックアウト Mage_Sales_Model_Quote_Address_Total_Subtotal::collect()
この方法では、すべての見積もりアイテムをループして、各見積もりアイテムに適用可能な段階的な数量をリンクする必要があります。たとえば、数量が1と3の2つのバリアントAとBがあるとします。見積もり項目をループして、次のようにします。
$quoteItemA->setTieredQty(1+3);
$quoteItemB->setTieredQty(1+3); //ofcourse 1 and 3 are dynamic here
次に Mage_Sales_Model_Quote_Address_Total_Subtotal::_initItem
使用する代わりに: $finalPrice = $product->getFinalPrice($quoteItem->getQty()); //on line 115 use:
$finalPrice = $product->getFinalPrice($quoteItem->getTieredQty());
これにはカスタム作業が含まれますが、私がリストしているアプローチは、作業中にいくつかのオンザフライ調整で機能するはずです。