本文整理汇总了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;
}
示例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);
}
示例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;
}
示例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;
}