12 class Subtotal extends \Magento\Quote\Model\Quote\Address\Total\AbstractTotal
43 $baseVirtualAmount = $virtualAmount = 0;
45 $address = $shippingAssignment->getShipping()->getAddress();
50 $items = $shippingAssignment->getItems();
56 if (
$item->getProduct()->isVirtual()) {
57 $virtualAmount +=
$item->getRowTotal();
58 $baseVirtualAmount +=
$item->getBaseRowTotal();
65 $total->setBaseVirtualAmount($baseVirtualAmount);
66 $total->setVirtualAmount($virtualAmount);
71 $this->quoteValidator->validateQuoteAmount(
$quote,
$total->getSubtotal());
72 $this->quoteValidator->validateQuoteAmount(
$quote,
$total->getBaseSubtotal());
87 if (
$item instanceof AddressItem) {
98 if (
$item->getQuote()->getIsSuperMode()) {
109 $originalPrice =
$product->getPrice();
111 $finalPrice =
$quoteItem->getParentItem()->getProduct()->getPriceModel()->getChildFinalPrice(
138 if (!$originalPrice) {
139 $originalPrice = $finalPrice;
141 $item->setPrice($finalPrice)->setBaseOriginalPrice($originalPrice);
142 $item->calcRowTotal();
182 'value' => $total->getSubtotal()
193 return __(
'Subtotal');
_calculateRowTotal($item, $finalPrice, $originalPrice)
elseif(isset( $params[ 'redirect_parent']))
collect(\Magento\Quote\Model\Quote $quote, \Magento\Quote\Api\Data\ShippingAssignmentInterface $shippingAssignment, \Magento\Quote\Model\Quote\Address\Total $total)
fetch(\Magento\Quote\Model\Quote $quote, \Magento\Quote\Model\Quote\Address\Total $total)
_addBaseAmount($baseAmount)
_removeItem($address, $item)
_initItem($address, $item)
__construct(\Magento\Quote\Model\QuoteValidator $quoteValidator)