本文整理匯總了PHP中Magento\Quote\Model\Quote\Address::addTotalAmount方法的典型用法代碼示例。如果您正苦於以下問題:PHP Address::addTotalAmount方法的具體用法?PHP Address::addTotalAmount怎麽用?PHP Address::addTotalAmount使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Magento\Quote\Model\Quote\Address
的用法示例。
在下文中一共展示了Address::addTotalAmount方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: processTotalAmount
/**
* Process row amount based on FPT total amount configuration setting
*
* @param \Magento\Quote\Model\Quote\Address $address
* @param float $rowValueExclTax
* @param float $baseRowValueExclTax
* @param float $rowValueInclTax
* @param float $baseRowValueInclTax
* @return $this
*/
protected function processTotalAmount($address, $rowValueExclTax, $baseRowValueExclTax, $rowValueInclTax, $baseRowValueInclTax)
{
if ($this->weeeData->includeInSubtotal($this->_store)) {
$address->addTotalAmount('subtotal', $rowValueExclTax);
$address->addBaseTotalAmount('subtotal', $baseRowValueExclTax);
} else {
$address->addTotalAmount('weee', $rowValueExclTax);
$address->addBaseTotalAmount('weee', $baseRowValueExclTax);
}
$address->setSubtotalInclTax($address->getSubtotalInclTax() + $rowValueInclTax);
$address->setBaseSubtotalInclTax($address->getBaseSubtotalInclTax() + $baseRowValueInclTax);
return $this;
}
示例2: processShippingTaxInfo
/**
* Update tax related fields for shipping
*
* @param QuoteAddress $address
* @param TaxDetailsItemInterface $shippingTaxDetails
* @param TaxDetailsItemInterface $baseShippingTaxDetails
* @return $this
*/
protected function processShippingTaxInfo(QuoteAddress $address, $shippingTaxDetails, $baseShippingTaxDetails)
{
$address->setTotalAmount('shipping', $shippingTaxDetails->getRowTotal());
$address->setBaseTotalAmount('shipping', $baseShippingTaxDetails->getRowTotal());
$address->setTotalAmount('shipping_hidden_tax', $shippingTaxDetails->getDiscountTaxCompensationAmount());
$address->setBaseTotalAmount('shipping_hidden_tax', $baseShippingTaxDetails->getDiscountTaxCompensationAmount());
$address->setShippingInclTax($shippingTaxDetails->getRowTotalInclTax());
$address->setBaseShippingInclTax($baseShippingTaxDetails->getRowTotalInclTax());
$address->setShippingTaxAmount($shippingTaxDetails->getRowTax());
$address->setBaseShippingTaxAmount($baseShippingTaxDetails->getRowTax());
//Add the shipping tax to total tax amount
$address->addTotalAmount('tax', $shippingTaxDetails->getRowTax());
$address->addBaseTotalAmount('tax', $baseShippingTaxDetails->getRowTax());
if ($this->_config->discountTax($address->getQuote()->getStore())) {
$address->setShippingAmountForDiscount($shippingTaxDetails->getRowTotalInclTax());
$address->setBaseShippingAmountForDiscount($baseShippingTaxDetails->getRowTotalInclTax());
}
return $this;
}
示例3: processExtraTaxables
/**
* Process everything other than product or shipping, save the result in quote
*
* @param Address $address
* @param array $itemsByType
* @return $this
* @SuppressWarnings(PHPMD.UnusedLocalVariable)
*/
protected function processExtraTaxables(Address $address, array $itemsByType)
{
$extraTaxableDetails = [];
foreach ($itemsByType as $itemType => $itemTaxDetails) {
if ($itemType != self::ITEM_TYPE_PRODUCT and $itemType != self::ITEM_TYPE_SHIPPING) {
foreach ($itemTaxDetails as $itemCode => $itemTaxDetail) {
/** @var \Magento\Tax\Api\Data\TaxDetailsInterface $taxDetails */
$taxDetails = $itemTaxDetail[self::KEY_ITEM];
/** @var \Magento\Tax\Api\Data\TaxDetailsInterface $baseTaxDetails */
$baseTaxDetails = $itemTaxDetail[self::KEY_BASE_ITEM];
$appliedTaxes = $taxDetails->getAppliedTaxes();
$baseAppliedTaxes = $baseTaxDetails->getAppliedTaxes();
$associatedItemCode = $taxDetails->getAssociatedItemCode();
$appliedTaxesArray = $this->convertAppliedTaxes($appliedTaxes, $baseAppliedTaxes);
$extraTaxableDetails[$itemType][$associatedItemCode][] = [self::KEY_TAX_DETAILS_TYPE => $taxDetails->getType(), self::KEY_TAX_DETAILS_CODE => $taxDetails->getCode(), self::KEY_TAX_DETAILS_PRICE_EXCL_TAX => $taxDetails->getPrice(), self::KEY_TAX_DETAILS_PRICE_INCL_TAX => $taxDetails->getPriceInclTax(), self::KEY_TAX_DETAILS_BASE_PRICE_EXCL_TAX => $baseTaxDetails->getPrice(), self::KEY_TAX_DETAILS_BASE_PRICE_INCL_TAX => $baseTaxDetails->getPriceInclTax(), self::KEY_TAX_DETAILS_ROW_TOTAL => $taxDetails->getRowTotal(), self::KEY_TAX_DETAILS_ROW_TOTAL_INCL_TAX => $taxDetails->getRowTotalInclTax(), self::KEY_TAX_DETAILS_BASE_ROW_TOTAL => $baseTaxDetails->getRowTotal(), self::KEY_TAX_DETAILS_BASE_ROW_TOTAL_INCL_TAX => $baseTaxDetails->getRowTotalInclTax(), self::KEY_TAX_DETAILS_TAX_PERCENT => $taxDetails->getTaxPercent(), self::KEY_TAX_DETAILS_ROW_TAX => $taxDetails->getRowTax(), self::KEY_TAX_DETAILS_BASE_ROW_TAX => $baseTaxDetails->getRowTax(), self::KEY_TAX_DETAILS_APPLIED_TAXES => $appliedTaxesArray];
$address->addTotalAmount('tax', $taxDetails->getRowTax());
$address->addBaseTotalAmount('tax', $baseTaxDetails->getRowTax());
//TODO: save applied taxes for the item
}
}
}
$address->setExtraTaxableDetails($extraTaxableDetails);
return $this;
}