Domanda

vedo che è utilizzato in Mage_Sales_Model_Quote_Address_Total_Shipping::collect() ed è più o meno equivalente all'indirizzo di peso totale. Inoltre, vari vettori controllare contro questo valore:

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

Ti ragazzi sanno quello è il suo scopo?

È stato utile?

Soluzione

FreeMethodWeight è una proprietà impostata sulla richiesta (di solito impostato a 0) come identificatore che l'ordine è ammissibile per la spedizione gratuita. Il modello di trasporto in genere hanno definito quale metodo è ammissibile per il trasporto libero, e procedere alla determinazione del l'uso di questo metodo tramite il peso metodo gratuito.

Nel tuo esempio sopra che sei stato impostato sull'oggetto $ r, che è (assumably) di tipo Mage_Shipping_Model_Rate_Request.

Il getter e setter sono magici - si misero una proprietà chiamata free_method_weight sull'oggetto richiesta .

Altri suggerimenti

Il freeMethodWeight viene utilizzato solo in connessione con lo shopping regole Cart Price: se si seleziona Trasporto libero: "solo per oggetti corrispondenti", quindi il numero (cioè il qty di ogni elemento) si inserisce nel campo qty sconto sarà gratuito . Vedere in Mage_SalesRule_Model_Validator::processFreeShipping. Il peso metodo gratuita sarà calcolato nel totale Mage_Sales_Model_Quote_Address_Total_Shipping modello al peso degli elementi che sono non libero. Esempio:

  • si seleziona Trasporto libero: "solo per oggetti corrispondenti" in un carrello della spesa regola del prezzo e impostare "2" nel campo discount_qty.
  • Quindi gli elementi di citazione avranno free_shipping = 2
  • E freeMethodWeight diventerà itemWeight * (itemQty - 2) in Mage_Sales_Model_Quote_Address_Total_Shipping (= peso degli articoli che non sono gratis per definizione della regola di sconto)

Se non esiste una regola di sconto configurato, il freeMethodWeight sarà sempre uguale al peso del pacchetto.

Quindi, nella maggior parte dei casi la freeMethodWeight è uguale al peso del pacchetto, ma è, comunque, preso in considerazione per la spedizione di calcolo del prezzo in alcuni metodi di trasporto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top