Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Subtotal.php
Go to the documentation of this file.
1 <?php
11 
14 
16 {
26  public function collect(
27  \Magento\Quote\Model\Quote $quote,
28  \Magento\Quote\Api\Data\ShippingAssignmentInterface $shippingAssignment,
29  \Magento\Quote\Model\Quote\Address\Total $total
30  ) {
31  $items = $shippingAssignment->getItems();
32  if (!$items) {
33  return $this;
34  }
35 
36  $store = $quote->getStore();
37  $priceIncludesTax = $this->_config->priceIncludesTax($store);
38 
39  //Setup taxable items
40  $itemDataObjects = $this->mapItems($shippingAssignment, $priceIncludesTax, false);
41  $quoteDetails = $this->prepareQuoteDetails($shippingAssignment, $itemDataObjects);
42  $taxDetails = $this->taxCalculationService
43  ->calculateTax($quoteDetails, $store->getStoreId());
44 
45  $itemDataObjects = $this->mapItems($shippingAssignment, $priceIncludesTax, true);
46  $baseQuoteDetails = $this->prepareQuoteDetails($shippingAssignment, $itemDataObjects);
47  $baseTaxDetails = $this->taxCalculationService
48  ->calculateTax($baseQuoteDetails, $store->getStoreId());
49 
50  $itemsByType = $this->organizeItemTaxDetailsByType($taxDetails, $baseTaxDetails);
51 
52  if (isset($itemsByType[self::ITEM_TYPE_PRODUCT])) {
53  $this->processProductItems($shippingAssignment, $itemsByType[self::ITEM_TYPE_PRODUCT], $total);
54  }
55 
56  return $this;
57  }
58 
65  public function fetch(\Magento\Quote\Model\Quote $quote, \Magento\Quote\Model\Quote\Address\Total $total)
66  {
67  return null;
68  }
69 }
$quote
collect(\Magento\Quote\Model\Quote $quote, \Magento\Quote\Api\Data\ShippingAssignmentInterface $shippingAssignment, \Magento\Quote\Model\Quote\Address\Total $total)
Definition: Subtotal.php:26
mapItems(ShippingAssignmentInterface $shippingAssignment, $priceIncludesTax, $useBaseCurrency)
prepareQuoteDetails(ShippingAssignmentInterface $shippingAssignment, $itemDataObjects)
fetch(\Magento\Quote\Model\Quote $quote, \Magento\Quote\Model\Quote\Address\Total $total)
Definition: Subtotal.php:65
$items