2016-09-09 10 views
1

ここで質問をする前に少なくとも何か試してみたはずですが、どこから始めたらいいかわかりません。Magento 1.8 - カート内の商品に応じて送料が変わる

配送料金が設定されており、変更したくありません。彼らは目的地の国に基づいて計算されます。

私がしたいのは、カートに特定のカテゴリのアイテムのみが含まれている場合を除き、これらのルールに従います。

If CART contains ONLY category_id_916 THEN shipping = 2.99 
ELSE follow normal rules 

ここで、Magentoはこのようなコードを実装すると思いますか?私はパフォーマンスがあまりにもひどく影響を受けているとは想像もしていないので、システムがすでに送料を計算した後である可能性があります。この方法では、適用可能であれば計算コストを2.99で上書きします。感覚

答えて

0

私はあなたのコストcaclulationためTableratesを使用していると仮定しているになります

希望。良い方法は、Mage_Shipping_Model_Carrier_Tablerateクラスをチェックすることです。

collectRates()機能は、最も関心のある機能です。それは、製品を反復するために$request->getAllItems()と出荷価格を設定するために$method->setPrice(...)を含みます。したがって、製品(およびそのカテゴリ)および関連する配送コストに関する独自のロジックを作成することができます。

PS。お待ちしております。

マゼンタのコアファイルを編集しないでください!ローカルに上書きすることも、機能を拡張する小さなモジュールを作成することもできます。

希望私はあなたに掘り出しを開始するアイディアを教えました:)

関連する問題