Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Public Member Functions
Calculator Class Reference
Inheritance diagram for Calculator:
Validator AbstractModel DataObject

Public Member Functions

 processFreeShipping (\Magento\Quote\Model\Quote\Item\AbstractItem $item)
 
- Public Member Functions inherited from Validator
 __construct (\Magento\Framework\Model\Context $context, \Magento\Framework\Registry $registry, \Magento\SalesRule\Model\ResourceModel\Rule\CollectionFactory $collectionFactory, \Magento\Catalog\Helper\Data $catalogData, \Magento\SalesRule\Model\Utility $utility, \Magento\SalesRule\Model\RulesApplier $rulesApplier, \Magento\Framework\Pricing\PriceCurrencyInterface $priceCurrency, \Magento\SalesRule\Model\Validator\Pool $validators, \Magento\Framework\Message\ManagerInterface $messageManager, \Magento\Framework\Model\ResourceModel\AbstractResource $resource=null, \Magento\Framework\Data\Collection\AbstractDb $resourceCollection=null, array $data=[])
 
 init ($websiteId, $customerGroupId, $couponCode)
 
 setSkipActionsValidation ($flag)
 
 canApplyRules (AbstractItem $item)
 
 reset (Address $address)
 
 process (AbstractItem $item)
 
 processShippingAmount (Address $address)
 
 getItemPrice ($item)
 
 getItemOriginalPrice ($item)
 
 getItemBasePrice ($item)
 
 getItemBaseOriginalPrice ($item)
 
 prepareDescription ($address, $separator=', ')
 
 getRuleItemTotalsInfo ($key)
 
 decrementRuleItemTotalsCount ($key)
 
- Public Member Functions inherited from AbstractModel
 __construct (\Magento\Framework\Model\Context $context, \Magento\Framework\Registry $registry, \Magento\Framework\Model\ResourceModel\AbstractResource $resource=null, \Magento\Framework\Data\Collection\AbstractDb $resourceCollection=null, array $data=[])
 
 __sleep ()
 
 __wakeup ()
 
 setIdFieldName ($name)
 
 getIdFieldName ()
 
 getId ()
 
 setId ($value)
 
 isDeleted ($isDeleted=null)
 
 hasDataChanges ()
 
 setData ($key, $value=null)
 
 unsetData ($key=null)
 
 setDataChanges ($value)
 
 getOrigData ($key=null)
 
 setOrigData ($key=null, $data=null)
 
 dataHasChangedFor ($field)
 
 getResourceName ()
 
 getResourceCollection ()
 
 getCollection ()
 
 load ($modelId, $field=null)
 
 beforeLoad ($identifier, $field=null)
 
 afterLoad ()
 
 isSaveAllowed ()
 
 setHasDataChanges ($flag)
 
 save ()
 
 afterCommitCallback ()
 
 isObjectNew ($flag=null)
 
 beforeSave ()
 
 validateBeforeSave ()
 
 getCacheTags ()
 
 cleanModelCache ()
 
 afterSave ()
 
 delete ()
 
 beforeDelete ()
 
 afterDelete ()
 
 afterDeleteCommit ()
 
 getResource ()
 
 getEntityId ()
 
 setEntityId ($entityId)
 
 clearInstance ()
 
 getStoredData ()
 
 getEventPrefix ()
 
- Public Member Functions inherited from DataObject
 __construct (array $data=[])
 
 addData (array $arr)
 
 setData ($key, $value=null)
 
 unsetData ($key=null)
 
 getData ($key='', $index=null)
 
 getDataByPath ($path)
 
 getDataByKey ($key)
 
 setDataUsingMethod ($key, $args=[])
 
 getDataUsingMethod ($key, $args=null)
 
 hasData ($key='')
 
 toArray (array $keys=[])
 
 convertToArray (array $keys=[])
 
 toXml (array $keys=[], $rootName='item', $addOpenTag=false, $addCdata=true)
 
 convertToXml (array $arrAttributes=[], $rootName='item', $addOpenTag=false, $addCdata=true)
 
 toJson (array $keys=[])
 
 convertToJson (array $keys=[])
 
 toString ($format='')
 
 __call ($method, $args)
 
 isEmpty ()
 
 serialize ($keys=[], $valueSeparator='=', $fieldSeparator=' ', $quote='"')
 
 debug ($data=null, &$objects=[])
 
 offsetSet ($offset, $value)
 
 offsetExists ($offset)
 
 offsetUnset ($offset)
 
 offsetGet ($offset)
 

Additional Inherited Members

- Protected Member Functions inherited from Validator
 _getRules (Address $address=null)
 
 getAddressId (Address $address)
 
- Protected Member Functions inherited from AbstractModel
 _construct ()
 
 _init ($resourceModel)
 
 _setResourceModel ($resourceName, $collectionName=null)
 
 _getResource ()
 
 _getEventData ()
 
 _beforeLoad ($modelId, $field=null)
 
 _afterLoad ()
 
 _hasModelChanged ()
 
 _getValidatorBeforeSave ()
 
 _createValidatorBeforeSave ()
 
 _getValidationRulesBeforeSave ()
 
 _clearReferences ()
 
 _clearData ()
 
- Protected Member Functions inherited from DataObject
 _getData ($key)
 
 _underscore ($name)
 
- Protected Attributes inherited from Validator
 $_rules
 
 $_isFirstTimeResetRun = true
 
 $_rulesItemTotals = []
 
 $_skipActionsValidation = false
 
 $_catalogData = null
 
 $_collectionFactory
 
 $validatorUtility
 
 $rulesApplier
 
 $priceCurrency
 
 $validators
 
 $messageManager
 
 $counter = 0
 
- Protected Attributes inherited from AbstractModel
 $_eventPrefix = 'core_abstract'
 
 $_eventObject = 'object'
 
 $_idFieldName = 'id'
 
 $_hasDataChanges = false
 
 $_origData
 
 $_isDeleted = false
 
 $_resource
 
 $_resourceCollection
 
 $_resourceName
 
 $_collectionName
 
 $_cacheTag = false
 
 $_dataSaveAllowed = true
 
 $_isObjectNew = null
 
 $_validatorBeforeSave = null
 
 $_eventManager
 
 $_cacheManager
 
 $_registry
 
 $_logger
 
 $_appState
 
 $_actionValidator
 
 $storedData = []
 
- Protected Attributes inherited from DataObject
 $_data = []
 
- Static Protected Attributes inherited from DataObject
static $_underscoreCache = []
 

Detailed Description

@api

Since
100.0.2

Definition at line 20 of file Calculator.php.

Member Function Documentation

◆ processFreeShipping()

processFreeShipping ( \Magento\Quote\Model\Quote\Item\AbstractItem  $item)

Quote item free shipping ability check This process not affect information about applied rules, coupon code etc. This information will be added during discount amounts processing

Parameters
\Magento\Quote\Model\Quote\Item\AbstractItem$item
Returns
\Magento\OfflineShipping\Model\SalesRule\Calculator

Definition at line 30 of file Calculator.php.

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()) {
47  $item->setFreeShipping($rule->getDiscountQty() ? $rule->getDiscountQty() : true);
48  break;
49 
51  $address->setFreeShipping(true);
52  break;
53  }
54  if ($rule->getStopRulesProcessing()) {
55  break;
56  }
57  }
58  return $this;
59  }
$address
Definition: customer.php:38
_getRules(Address $address=null)
Definition: Validator.php:162

The documentation for this class was generated from the following file: