Что представляет собой адрес цитаты «FreeMethodeight»?
Вопрос
Я вижу, что он используется в Mage_Sales_Model_Quote_Address_Total_Shipping::collect()
И это примерно эквивалентно адресу «Общий вес». Кроме того, различные перевозчики проверяют это значение:
if ($request->getFreeMethodWeight()!=$request->getPackageWeight()) {
$r->setFreeMethodWeight($request->getFreeMethodWeight());
}
Ребята, вы знаете, какова его цель?
Решение
FreeMethodeight - это свойство, установленное по запросу (обычно устанавливается в 0) в качестве идентификатора, который заказа имеет право на бесплатную доставку. Модель доставки, как правило, определяет, какой метод имеет право на бесплатную доставку и определяет использование этого метода с помощью веса бесплатного метода.
В вашем примере выше, они установлены на объекте $ r, который (предположительно) типа Mage_Shipping_Model_Rate_Request
.
Getter и Setter - это волшебство - они устанавливают свойство под названием free_method_weight
в объекте запроса.
Другие советы
Freemethodeight используется только в связи с правилами цены на корзину: если вы выберете бесплатную доставку: «только для сопоставления предметов», то число (что означает QUTY каждого предмета), который вы помещаете в поле скидки QTY, будет бесплатным. Увидеть в Mage_SalesRule_Model_Validator::processFreeShipping
. Анкет Вес бесплатного метода будет рассчитан в общей модели Mage_Sales_Model_Quote_Address_Total_Shipping
к весу предметов, которые НЕТ свободно. Пример:
- Вы выбираете бесплатную доставку: «только для сопоставления предметов» в правиле цены на корзину покупок и устанавливает «2» в поле Discount_QTY.
- Тогда пункты цитаты получат free_shipping = 2
- И в свободном весе станет весом * (itemqty - 2) в
Mage_Sales_Model_Quote_Address_Total_Shipping
(= Вес предметов, которые не бесплатны по определению правила дисконтирования)
Если такого правила скидки не настроено, свободный вес всегда будет равен весу упаковки.
Таким образом, в большинстве случаев в свободном весе равен вес упаковки, но, однако, учитывается для расчета цены доставки в некоторых методах доставки.