當前位置: 首頁>>代碼示例>>PHP>>正文


PHP Config::getShippingTaxClass方法代碼示例

本文整理匯總了PHP中Magento\Tax\Model\Config::getShippingTaxClass方法的典型用法代碼示例。如果您正苦於以下問題:PHP Config::getShippingTaxClass方法的具體用法?PHP Config::getShippingTaxClass怎麽用?PHP Config::getShippingTaxClass使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Magento\Tax\Model\Config的用法示例。


在下文中一共展示了Config::getShippingTaxClass方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: getShippingDataObject

 /**
  * @param QuoteAddress $address
  * @param bool $useBaseCurrency
  * @return \Magento\Tax\Api\Data\QuoteDetailsItemInterface
  */
 public function getShippingDataObject(QuoteAddress $address, $useBaseCurrency)
 {
     if ($address->getShippingTaxCalculationAmount() === null) {
         //Save the original shipping amount because shipping amount will be overridden
         //with shipping amount excluding tax
         $address->setShippingTaxCalculationAmount($address->getShippingAmount());
         $address->setBaseShippingTaxCalculationAmount($address->getBaseShippingAmount());
     }
     if ($address->getShippingTaxCalculationAmount() !== null) {
         /** @var \Magento\Tax\Api\Data\QuoteDetailsItemInterface $itemDataObject */
         $itemDataObject = $this->quoteDetailsItemDataObjectFactory->create()->setType(self::ITEM_TYPE_SHIPPING)->setCode(self::ITEM_CODE_SHIPPING)->setQuantity(1);
         if ($useBaseCurrency) {
             $itemDataObject->setUnitPrice($address->getBaseShippingTaxCalculationAmount());
         } else {
             $itemDataObject->setUnitPrice($address->getShippingTaxCalculationAmount());
         }
         if ($address->getShippingDiscountAmount()) {
             if ($useBaseCurrency) {
                 $itemDataObject->setDiscountAmount($address->getBaseShippingDiscountAmount());
             } else {
                 $itemDataObject->setDiscountAmount($address->getShippingDiscountAmount());
             }
         }
         $itemDataObject->setTaxClassKey($this->taxClassKeyDataObjectFactory->create()->setType(TaxClassKeyInterface::TYPE_ID)->setValue($this->_config->getShippingTaxClass($address->getQuote()->getStore())));
         $itemDataObject->setIsTaxIncluded($this->_config->shippingPriceIncludesTax($address->getQuote()->getStore()));
         return $itemDataObject;
     }
     return null;
 }
開發者ID:shabbirvividads,項目名稱:magento2,代碼行數:34,代碼來源:CommonTaxCollector.php

示例2: getShippingTaxClass

 /**
  * Get tax class id specified for shipping tax estimation
  *
  * @param null|string|bool|int|Store $store
  * @return int
  */
 public function getShippingTaxClass($store)
 {
     return $this->_config->getShippingTaxClass($store);
 }
開發者ID:zhangjiachao,項目名稱:magento2,代碼行數:10,代碼來源:Data.php

示例3: getShippingDataObject

 /**
  * @param Address $address
  * @param bool $useBaseCurrency
  * @return \Magento\Tax\Service\V1\Data\QuoteDetails\Item
  */
 public function getShippingDataObject(Address $address, $useBaseCurrency)
 {
     if ($address->getShippingTaxCalculationAmount() === null) {
         //Save the original shipping amount because shipping amount will be overridden
         //with shipping amount excluding tax
         $address->setShippingTaxCalculationAmount($address->getShippingAmount());
         $address->setBaseShippingTaxCalculationAmount($address->getBaseShippingAmount());
     }
     if ($address->getShippingTaxCalculationAmount() !== null) {
         $itemBuilder = $this->quoteDetailsBuilder->getItemBuilder();
         $itemBuilder->setType(self::ITEM_TYPE_SHIPPING);
         $itemBuilder->setCode(self::ITEM_CODE_SHIPPING);
         $itemBuilder->setQuantity(1);
         if ($useBaseCurrency) {
             $itemBuilder->setUnitPrice($address->getBaseShippingTaxCalculationAmount());
         } else {
             $itemBuilder->setUnitPrice($address->getShippingTaxCalculationAmount());
         }
         if ($address->getShippingDiscountAmount()) {
             if ($useBaseCurrency) {
                 $itemBuilder->setDiscountAmount($address->getBaseShippingDiscountAmount());
             } else {
                 $itemBuilder->setDiscountAmount($address->getShippingDiscountAmount());
             }
         }
         $itemBuilder->setTaxClassKey($itemBuilder->getTaxClassKeyBuilder()->setType(TaxClassKey::TYPE_ID)->setValue($this->_config->getShippingTaxClass($address->getQuote()->getStore()))->create());
         $itemBuilder->setTaxIncluded($this->_config->shippingPriceIncludesTax($address->getQuote()->getStore()));
         return $itemBuilder->create();
     }
     return null;
 }
開發者ID:aiesh,項目名稱:magento2,代碼行數:36,代碼來源:CommonTaxCollector.php

示例4: prepareQuoteDetails

 /**
  * Populate QuoteDetails object from Address object
  *
  * @param Address $address
  * @param bool $useBaseCurrency
  * @return \Magento\Tax\Service\V1\Data\QuoteDetails
  */
 protected function prepareQuoteDetails(Address $address, $useBaseCurrency)
 {
     $items = $this->_getAddressItems($address);
     if (!count($items)) {
         return $this->quoteDetailsBuilder->create();
     }
     $addressBuilder = $this->quoteDetailsBuilder->getAddressBuilder();
     //Set billing address
     $this->quoteDetailsBuilder->setBillingAddress($this->mapAddress($addressBuilder, $address->getQuote()->getBillingAddress()));
     //Set shipping address
     $this->quoteDetailsBuilder->setShippingAddress($this->mapAddress($addressBuilder, $address));
     //Set customer tax class
     $this->quoteDetailsBuilder->setCustomerTaxClassId($address->getQuote()->getCustomerTaxClassId());
     //Populate with items
     $priceIncludesTax = $this->_config->priceIncludesTax($this->_store);
     $itemBuilder = $this->quoteDetailsBuilder->getItemBuilder();
     $itemDataObjects = [];
     foreach ($items as $item) {
         if ($item->getParentItem()) {
             continue;
         }
         if ($item->getHasChildren() && $item->isChildrenCalculated()) {
             $parentItemDataObject = $this->mapItem($itemBuilder, $item, $priceIncludesTax, $useBaseCurrency);
             $itemDataObjects[] = $parentItemDataObject;
             foreach ($item->getChildren() as $child) {
                 $childItemDataObject = $this->mapItem($itemBuilder, $child, $priceIncludesTax, $useBaseCurrency, $parentItemDataObject->getCode());
                 $itemDataObjects[] = $childItemDataObject;
             }
         } else {
             $itemDataObject = $this->mapItem($itemBuilder, $item, $priceIncludesTax, $useBaseCurrency);
             $itemDataObjects[] = $itemDataObject;
         }
     }
     if ($this->includeShipping()) {
         //Add shipping as an item
         if (!$address->getShippingTaxCalculationAmount() || $address->getShippingTaxCalculationAmount() <= 0) {
             //Save the original shipping amount because shipping amount will be overridden
             //with shipping amount excluding tax
             $address->setShippingTaxCalculationAmount($address->getShippingAmount());
             $address->setBaseShippingTaxCalculationAmount($address->getBaseShippingAmount());
         }
         if ($address->getShippingTaxCalculationAmount() > 0) {
             $itemBuilder->setType(self::SHIPPING_ITEM_TYPE);
             $itemBuilder->setCode(self::SHIPPING_ITEM_CODE);
             $itemBuilder->setQuantity(1);
             if ($useBaseCurrency) {
                 $itemBuilder->setUnitPrice($address->getBaseShippingTaxCalculationAmount());
             } else {
                 $itemBuilder->setUnitPrice($address->getShippingTaxCalculationAmount());
             }
             if ($address->getShippingDiscountAmount()) {
                 if ($useBaseCurrency) {
                     $itemBuilder->setDiscountAmount($address->getBaseShippingDiscountAmount());
                 } else {
                     $itemBuilder->setDiscountAmount($address->getShippingDiscountAmount());
                 }
             }
             $itemBuilder->setTaxClassId($this->_config->getShippingTaxClass($this->_store));
             $itemBuilder->setTaxIncluded($this->_config->shippingPriceIncludesTax($this->_store));
             $itemDataObjects[] = $itemBuilder->create();
         }
     }
     $this->quoteDetailsBuilder->setItems($itemDataObjects);
     $quoteDetails = $this->quoteDetailsBuilder->create();
     return $quoteDetails;
 }
開發者ID:Atlis,項目名稱:docker-magento2,代碼行數:73,代碼來源:Tax.php


注:本文中的Magento\Tax\Model\Config::getShippingTaxClass方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。