本文整理匯總了PHP中Magento\Quote\Model\Quote\Address::getAppliedTaxes方法的典型用法代碼示例。如果您正苦於以下問題:PHP Address::getAppliedTaxes方法的具體用法?PHP Address::getAppliedTaxes怎麽用?PHP Address::getAppliedTaxes使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Magento\Quote\Model\Quote\Address
的用法示例。
在下文中一共展示了Address::getAppliedTaxes方法的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: afterConvert
/**
* @param QuoteAddressToOrder $subject
* @param OrderInterface $order
* @return OrderInterface
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
*/
public function afterConvert(QuoteAddressToOrder $subject, OrderInterface $order)
{
/** @var \Magento\Sales\Model\Order $order */
$taxes = $this->quoteAddress->getAppliedTaxes();
$extensionAttributes = $order->getExtensionAttributes();
if ($extensionAttributes == null) {
$extensionAttributes = $this->orderExtensionFactory->create();
}
if (!empty($taxes)) {
$extensionAttributes->setAppliedTaxes($taxes);
$extensionAttributes->setConvertingFromQuote(true);
}
$itemAppliedTaxes = $this->quoteAddress->getItemsAppliedTaxes();
if (!empty($itemAppliedTaxes)) {
$extensionAttributes->setItemAppliedTaxes($itemAppliedTaxes);
}
$order->setExtensionAttributes($extensionAttributes);
return $order;
}
示例2: afterConvert
/**
* @param QuoteAddressToOrder $subject
* @param OrderInterface $order
* @return OrderInterface
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
*/
public function afterConvert(QuoteAddressToOrder $subject, OrderInterface $order)
{
/** @var \Magento\Sales\Model\Order $order */
$taxes = $this->quoteAddress->getAppliedTaxes();
if (is_array($taxes)) {
if (is_array($order->getAppliedTaxes())) {
$taxes = array_merge($order->getAppliedTaxes(), $taxes);
}
$order->setCustomAttribute('applied_taxes', $taxes);
$order->setCustomAttribute('converting_from_quote', true);
}
$itemAppliedTaxes = $this->quoteAddress->getItemsAppliedTaxes();
if (is_array($itemAppliedTaxes)) {
if (is_array($order->getItemAppliedTaxes())) {
$itemAppliedTaxes = array_merge($order->getItemAppliedTaxes(), $itemAppliedTaxes);
}
$order->setCustomAttribute('item_applied_taxes', $itemAppliedTaxes);
}
return $order;
}
示例3: verifyQuoteAddress
/**
* Verify fields in quote address
*
* @param \Magento\Quote\Model\Quote\Address $quoteAddress
* @param array $expectedAddressData
* @return $this
*/
protected function verifyQuoteAddress($quoteAddress, $expectedAddressData)
{
foreach ($expectedAddressData as $key => $value) {
if ($key == 'applied_taxes') {
$this->verifyAppliedTaxes($quoteAddress->getAppliedTaxes(), $value);
} else {
$this->assertEquals($value, $quoteAddress->getData($key), 'Quote address ' . $key . ' is incorrect');
}
}
return $this;
}
示例4: _saveAppliedTaxes
/**
* Collect applied tax rates information on address level
*
* @param QuoteAddress $address
* @param array $applied
* @param float $amount
* @param float $baseAmount
* @param float $rate
* @return void
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
* @SuppressWarnings(PHPMD.NPathComplexity)
*/
protected function _saveAppliedTaxes(QuoteAddress $address, $applied, $amount, $baseAmount, $rate)
{
$previouslyAppliedTaxes = $address->getAppliedTaxes();
$process = count($previouslyAppliedTaxes);
foreach ($applied as $row) {
if ($row['percent'] == 0) {
continue;
}
if (!isset($previouslyAppliedTaxes[$row['id']])) {
$row['process'] = $process;
$row['amount'] = 0;
$row['base_amount'] = 0;
$previouslyAppliedTaxes[$row['id']] = $row;
}
if (!is_null($row['percent'])) {
$row['percent'] = $row['percent'] ? $row['percent'] : 1;
$rate = $rate ? $rate : 1;
$appliedAmount = $amount / $rate * $row['percent'];
$baseAppliedAmount = $baseAmount / $rate * $row['percent'];
} else {
$appliedAmount = 0;
$baseAppliedAmount = 0;
foreach ($row['rates'] as $rate) {
$appliedAmount += $rate['amount'];
$baseAppliedAmount += $rate['base_amount'];
}
}
if ($appliedAmount || $previouslyAppliedTaxes[$row['id']]['amount']) {
$previouslyAppliedTaxes[$row['id']]['amount'] += $appliedAmount;
$previouslyAppliedTaxes[$row['id']]['base_amount'] += $baseAppliedAmount;
} else {
unset($previouslyAppliedTaxes[$row['id']]);
}
}
$address->setAppliedTaxes($previouslyAppliedTaxes);
}
示例5: fetch
/**
* @param \Magento\Quote\Model\Quote\Address $address
* @return $this
*/
public function fetch(\Magento\Quote\Model\Quote\Address $address)
{
$applied = $address->getAppliedTaxes();
$store = $address->getQuote()->getStore();
$amount = $address->getTaxAmount();
if ($amount != 0 || $this->_taxData->displayZeroTax($store)) {
$address->addTotal(['code' => $this->getCode(), 'title' => __('Tax'), 'full_info' => $applied ? $applied : [], 'value' => $amount]);
}
return $this;
}
示例6: fetch
/**
* Add tax totals information to address object
*
* @param Address $address
* @return $this
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
*/
public function fetch(Address $address)
{
$applied = $address->getAppliedTaxes();
$store = $address->getQuote()->getStore();
$amount = $address->getTaxAmount();
$items = $this->_getAddressItems($address);
$discountTaxCompensation = 0;
foreach ($items as $item) {
$discountTaxCompensation += $item->getDiscountTaxCompensation();
}
$taxAmount = $amount + $discountTaxCompensation;
$area = null;
if ($this->_config->displayCartTaxWithGrandTotal($store) && $address->getGrandTotal()) {
$area = 'taxes';
}
if ($amount != 0 || $this->_config->displayCartZeroTax($store)) {
$address->addTotal(['code' => $this->getCode(), 'title' => __('Tax'), 'full_info' => $applied ? $applied : [], 'value' => $amount, 'area' => $area]);
}
$store = $address->getQuote()->getStore();
/**
* Modify subtotal
*/
if ($this->_config->displayCartSubtotalBoth($store) || $this->_config->displayCartSubtotalInclTax($store)) {
if ($address->getSubtotalInclTax() > 0) {
$subtotalInclTax = $address->getSubtotalInclTax();
} else {
$subtotalInclTax = $address->getSubtotal() + $taxAmount - $address->getShippingTaxAmount();
}
$address->addTotal(['code' => 'subtotal', 'title' => __('Subtotal'), 'value' => $subtotalInclTax, 'value_incl_tax' => $subtotalInclTax, 'value_excl_tax' => $address->getSubtotal()]);
}
return $this;
}
示例7: afterConvert
/**
* @param QuoteAddressToOrder $subject
* @param OrderInterface $order
* @return OrderInterface
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
*/
public function afterConvert(QuoteAddressToOrder $subject, OrderInterface $order)
{
/** @var \Magento\Sales\Model\Order $order */
$taxes = $this->quoteAddress->getAppliedTaxes();
$extensionAttributes = $order->getExtensionAttributes();
if ($extensionAttributes == null) {
$extensionAttributes = $this->orderExtensionFactory->create();
}
if (!empty($taxes)) {
foreach ($taxes as $key => $tax) {
$tax['extension_attributes']['rates'] = $tax['rates'];
unset($tax['rates']);
$taxes[$key] = $tax;
}
$extensionAttributes->setAppliedTaxes($taxes);
$extensionAttributes->setConvertingFromQuote(true);
}
$itemAppliedTaxes = $this->quoteAddress->getItemsAppliedTaxes();
$itemAppliedTaxesModified = [];
if (!empty($itemAppliedTaxes)) {
foreach ($itemAppliedTaxes as $key => $itemAppliedTaxItem) {
if (is_array($itemAppliedTaxItem) && !empty($itemAppliedTaxItem)) {
foreach ($itemAppliedTaxItem as $itemAppliedTax) {
$itemAppliedTaxesModified[$key]['type'] = $itemAppliedTax['item_type'];
$itemAppliedTaxesModified[$key]['item_id'] = $itemAppliedTax['item_id'];
$itemAppliedTaxesModified[$key]['associated_item_id'] = $itemAppliedTax['associated_item_id'];
$itemAppliedTax['extension_attributes']['rates'] = $itemAppliedTax['rates'];
unset($itemAppliedTax['rates']);
$itemAppliedTaxesModified[$key]['applied_taxes'][] = $itemAppliedTax;
}
}
}
$extensionAttributes->setItemAppliedTaxes($itemAppliedTaxesModified);
}
$order->setExtensionAttributes($extensionAttributes);
return $order;
}