¿Qué representa Dirección de la cita ‘freeMethodWeight’?
Pregunta
veo que es utilizado en Mage_Sales_Model_Quote_Address_Total_Shipping::collect()
y es más o menos equivalente a la dirección de peso total.
Además, varios transportistas contra comprobar este valor:
if ($request->getFreeMethodWeight()!=$request->getPackageWeight()) {
$r->setFreeMethodWeight($request->getFreeMethodWeight());
}
¿Ustedes saben lo que es su propósito?
Solución
FreeMethodWeight es una propiedad situada en la solicitud (por lo general se pone a 0) como un identificador que el orden es elegible para el envío libre. El modelo de envío tendrá típicamente definido qué método es elegible para el envío libre, y hacer que la determinación del uso de este método a través del método libre de peso.
En el ejemplo anterior que están siendo objeto de ajuste en el $ r, que es (assumably) de tipo Mage_Shipping_Model_Rate_Request
.
El getter y setter son mágicas - pusieron una propiedad llamada free_method_weight
en el objeto de la petición
Otros consejos
El freeMethodWeight sólo se utiliza en conexión con compras normas de la compra Precio: si selecciona el envío libre: "encontrar artículos únicos", entonces el número (es decir, el Cant de cada elemento) se pone en el campo Cant descuento será gratuita . Ver en Mage_SalesRule_Model_Validator::processFreeShipping
. El peso método libre se calcula en el Mage_Sales_Model_Quote_Address_Total_Shipping
total del modelo con el peso de los artículos que son no libre. Ejemplo:
- selecciona el envío libre: "encontrar artículos únicos" en un carro de compras regla de precio y conjunto de "2" en el campo discount_qty.
- A continuación, los elementos de cotización conseguirán free_shipping = 2
- Y freeMethodWeight se convertirá en itemWeight * (itemQty - 2) en
Mage_Sales_Model_Quote_Address_Total_Shipping
(= peso de los artículos que no son gratis, por definición de la regla de descuento)
Si no hay tal regla de descuento configurado, el freeMethodWeight siempre será igual al peso del paquete.
Así que en la mayoría de los casos el freeMethodWeight es igual al peso del paquete, pero es, sin embargo, tener en cuenta para el envío de cálculo de precios en algunos métodos de envío.