我看到它已在 Mage_Sales_Model_Quote_Address_Total_Shipping::collect() 它大致相当于地址的总重量。此外,各种承运人都根据此值进行检查:

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

你们知道它的目的是什么?

有帮助吗?

解决方案

FreeMethodwoight是请求(通常设置为0)的属性,作为标识符,该订单有资格免费送货。运输模型通常会定义哪种方法有资格免费送货,并通过免费方法重量确定使用此方法。

在上面的示例中,它们被设置在$ r对象上,这是类型的 Mage_Shipping_Model_Rate_Request.

Getter和Setter是魔术 - 他们设置了一个称为的属性 free_method_weight 在请求对象上。

其他提示

五量量级仅与购物车价格规则相关联:如果您选择免费送货:“仅适用于匹配的项目”,那么您将其放入折扣数量字段中的数字(意味着每个项目的数量)将是免费的。看到 Mage_SalesRule_Model_Validator::processFreeShipping. 。免费方法重量将在总模型中计算 Mage_Sales_Model_Quote_Address_Total_Shipping 对于物品的重量 不是 自由的。例子:

  • 您选择免费送货:“仅适用于匹配的物品”在购物车价格规则中,并在discount_qty字段中设置“ 2”。
  • 然后报价项目将获得免费_shipping = 2
  • freemethodgeight将变为项目重量 *(itemqty -2) Mage_Sales_Model_Quote_Address_Total_Shipping (=根据折扣规则定义不免费的物品的重量)

如果没有配置此类折扣规则,则频次轻量级将始终等于软件包的重量。

因此,在大多数情况下,自由锻炼等于包装的重量,但是考虑到某些运输方法中的运输价格计算。

许可以下: CC-BY-SA归因
scroll top