Что представляет собой адрес цитаты «FreeMethodeight»?

magento.stackexchange https://magento.stackexchange.com/questions/3338

  •  16-10-2019
  •  | 
  •  

Вопрос

Я вижу, что он используется в 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 (= Вес предметов, которые не бесплатны по определению правила дисконтирования)

Если такого правила скидки не настроено, свободный вес всегда будет равен весу упаковки.

Таким образом, в большинстве случаев в свободном весе равен вес упаковки, но, однако, учитывается для расчета цены доставки в некоторых методах доставки.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top