質問

で使用されていると思います Mage_Sales_Model_Quote_Address_Total_Shipping::collect() また、アドレスの総重量とほぼ同等です。また、さまざまなキャリアがこの値に反してチェックします。

if ($request->getFreeMethodWeight()!=$request->getPackageWeight()) {
    $r->setFreeMethodWeight($request->getFreeMethodWeight());
}

あなたたちはその目的が何であるか知っていますか?

役に立ちましたか?

解決

FreeMethodweightは、注文が送料無料の対象であるという識別子として、リクエスト(通常は0に設定)に設定されたプロパティです。配送モデルは通常、送料無料の対象である方法を定義し、無料の方法の重みを介してこの方法の使用を決定するかを定義します。

上記の例では、それらは$ rオブジェクトに設定されています。 Mage_Shipping_Model_Rate_Request.

ゲッターとセッターは魔法です - 彼らは呼ばれるプロパティを設定します free_method_weight リクエストオブジェクト。

他のヒント

FreeMethodweightは、ショッピングカートの価格ルールに関連してのみ使用されます。「アイテムのみを一致する場合」の送料無料を選択すると、数値フィールドに入れた番号(各アイテムの数量を意味)は無料です。を参照してください Mage_SalesRule_Model_Validator::processFreeShipping. 。フリーメソッドの重みは、合計モデルで計算されます Mage_Sales_Model_Quote_Address_Total_Shipping あるアイテムの重量に いいえ 自由。例:

  • ショッピングカートの価格ルールで「アイテムのみ」という無料配送を選択し、割引_QTYフィールドで「2」を設定します。
  • その後、引用符はfree_shipping = 2を取得します
  • そして、freemethodweightはitemweight *(itemqty -2)になります Mage_Sales_Model_Quote_Address_Total_Shipping (=割引ルールを定義して無料でないアイテムの重量)

そのような割引ルールが構成されていない場合、FreeMethodweightは常にパッケージの重量に等しくなります。

したがって、ほとんどの場合、フリーメット級はパッケージの重量に等しくなりますが、一部の配送方法での出荷価格計算を考慮しています。

ライセンス: CC-BY-SA帰属
所属していません magento.stackexchange
scroll top