Magento Extensions Rating 2024
EXTENSIONS BY CATEGORY
B2B (Business-To-Business)
Blog
Customer
ERP (Enterprise Resource Planning)
Mega Menu
One Step Checkout
Order
POS (Point Of Sale)
Search
Shopping Cart
Sitemap
SEO
Social
Stock & Inventory Management
EXTENSIONS BY DEVELOPER
aheadWorks
Amasty
Boost My Shop
BSS Commerce
Magestore
MageWorx
Mirasvit
Templates Master
Wyomind
XTENTO
Magento 2 Documentation
Magento 2 Documentation
2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
vendor
magento
module-offline-shipping
Model
SalesRule
Calculator.php
Go to the documentation of this file.
1
<?php
12
namespace
Magento\OfflineShipping\Model\SalesRule
;
13
14
use
Magento\SalesRule\Model\Validator
;
15
20
class
Calculator
extends
Validator
21
{
30
public
function
processFreeShipping
(\
Magento
\Quote\Model\Quote\Item\AbstractItem
$item
)
31
{
32
$address
=
$item
->getAddress();
33
$item
->setFreeShipping(
false
);
34
35
foreach
($this->
_getRules
(
$address
) as
$rule
) {
36
/* @var $rule \Magento\SalesRule\Model\Rule */
37
if
(!$this->validatorUtility->canProcessRule(
$rule
,
$address
)) {
38
continue
;
39
}
40
41
if
(!
$rule
->getActions()->validate(
$item
)) {
42
continue
;
43
}
44
45
switch
(
$rule
->getSimpleFreeShipping()) {
46
case
Rule::FREE_SHIPPING_ITEM
:
47
$item
->setFreeShipping(
$rule
->getDiscountQty() ?
$rule
->getDiscountQty() :
true
);
48
break
;
49
50
case
Rule::FREE_SHIPPING_ADDRESS
:
51
$address
->setFreeShipping(
true
);
52
break
;
53
}
54
if
(
$rule
->getStopRulesProcessing()) {
55
break
;
56
}
57
}
58
return
$this;
59
}
60
}
Magento\SalesRule\Model\Validator
Definition:
Pool.php:7
$rule
$rule
Definition:
rule_by_attribute.php:10
$item
$item
Definition:
partial_invoice.php:27
$address
$address
Definition:
customer.php:38
Magento\OfflineShipping\Model\SalesRule
Definition:
Calculator.php:12
Magento\OfflineShipping\Model\SalesRule\Calculator
Definition:
Calculator.php:20
Magento
Magento\SalesRule\Model\Validator\_getRules
_getRules(Address $address=null)
Definition:
Validator.php:162
Magento\OfflineShipping\Model\SalesRule\Rule\FREE_SHIPPING_ADDRESS
const FREE_SHIPPING_ADDRESS
Definition:
Rule.php:28
Magento\AdvancedPricingImportExport\Model\Import\AdvancedPricing\Validator
Definition:
TierPrice.php:6
Magento\OfflineShipping\Model\SalesRule\Rule\FREE_SHIPPING_ITEM
const FREE_SHIPPING_ITEM
Definition:
Rule.php:23
Magento\OfflineShipping\Model\SalesRule\Calculator\processFreeShipping
processFreeShipping(\Magento\Quote\Model\Quote\Item\AbstractItem $item)
Definition:
Calculator.php:30