Question

Je vois qu'il est utilisé dans Mage_Sales_Model_Quote_Address_Total_Shipping::collect() et il est à peu près équivalent à l'adresse du poids total. En outre, divers transporteurs vérifient sur cette valeur:

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

Avez-vous les gars savent quel est son but?

Était-ce utile?

La solution

FreeMethodWeight est une propriété située sur la demande (généralement à 0) comme identifiant que l'ordre est éligible à la livraison gratuite. Le modèle d'expédition sera généralement ont défini la méthode est éligible à la livraison gratuite, et faire la détermination de l'utilisation de cette méthode par le poids de la méthode libre.

Dans votre exemple ci-dessus qu'ils sont ensemble sur l'objet $ r, qui est (assumably) de type Mage_Shipping_Model_Rate_Request.

Le getter et setter sont magiques - ils ont mis une propriété appelée free_method_weight sur l'objet de la demande

.

Autres conseils

Le freeMethodWeight est utilisé uniquement dans le cadre de l'achat des règles de prix de panier: si vous sélectionnez Livraison gratuite: « pour les articles assortis seulement », le nombre (ce qui signifie la qté de chaque article) que vous mettez dans le champ qty d'escompte sera gratuit . Voir en Mage_SalesRule_Model_Validator::processFreeShipping. Le poids de la méthode libre sera calculée dans le modèle total Mage_Sales_Model_Quote_Address_Total_Shipping au poids des éléments qui sont PAS libre. Exemple:

  • vous sélectionnez Livraison gratuite: « pour les articles assortis seulement » dans une règle de prix du panier et ensemble « 2 » dans le champ de discount_qty.
  • Ensuite, les éléments de citation vont se free_shipping = 2
  • Et freeMethodWeight deviendra itemWeight * (itemQty - 2) Mage_Sales_Model_Quote_Address_Total_Shipping (= poids des articles qui ne sont pas gratuitement par définition de la règle d'actualisation)

S'il n'y a pas de règle d'actualisation configuré, le freeMethodWeight sera toujours égal au poids du colis.

Ainsi, dans la plupart des cas, le freeMethodWeight est égal au poids du colis, mais est cependant pris en compte pour l'expédition calcul des prix dans certaines méthodes d'expédition.

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top