本文整理汇总了PHP中Magento\Framework\DataObject::getBaseSubtotalInclTax方法的典型用法代码示例。如果您正苦于以下问题:PHP DataObject::getBaseSubtotalInclTax方法的具体用法?PHP DataObject::getBaseSubtotalInclTax怎么用?PHP DataObject::getBaseSubtotalInclTax使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Magento\Framework\DataObject
的用法示例。
在下文中一共展示了DataObject::getBaseSubtotalInclTax方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _initSubtotal
/**
* @return $this
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
*/
protected function _initSubtotal()
{
$store = $this->getStore();
$parent = $this->getParentBlock();
$subtotal = $parent->getTotal('subtotal');
if (!$subtotal) {
return $this;
}
if ($this->_config->displaySalesSubtotalBoth($store)) {
$subtotal = (double) $this->_source->getSubtotal();
$baseSubtotal = (double) $this->_source->getBaseSubtotal();
$subtotalIncl = (double) $this->_source->getSubtotalInclTax();
$baseSubtotalIncl = (double) $this->_source->getBaseSubtotalInclTax();
if (!$subtotalIncl || !$baseSubtotalIncl) {
// Calculate the subtotal if it is not set
$subtotalIncl = $subtotal + $this->_source->getTaxAmount() - $this->_source->getShippingTaxAmount();
$baseSubtotalIncl = $baseSubtotal + $this->_source->getBaseTaxAmount() - $this->_source->getBaseShippingTaxAmount();
if ($this->_source instanceof Order) {
// Adjust for the discount tax compensation
foreach ($this->_source->getAllItems() as $item) {
$subtotalIncl += $item->getDiscountTaxCompensationAmount();
$baseSubtotalIncl += $item->getBaseDiscountTaxCompensationAmount();
}
}
}
$subtotalIncl = max(0, $subtotalIncl);
$baseSubtotalIncl = max(0, $baseSubtotalIncl);
$totalExcl = new \Magento\Framework\DataObject(['code' => 'subtotal_excl', 'value' => $subtotal, 'base_value' => $baseSubtotal, 'label' => __('Subtotal (Excl.Tax)')]);
$totalIncl = new \Magento\Framework\DataObject(['code' => 'subtotal_incl', 'value' => $subtotalIncl, 'base_value' => $baseSubtotalIncl, 'label' => __('Subtotal (Incl.Tax)')]);
$parent->addTotal($totalExcl, 'subtotal');
$parent->addTotal($totalIncl, 'subtotal_excl');
$parent->removeTotal('subtotal');
} elseif ($this->_config->displaySalesSubtotalInclTax($store)) {
$subtotalIncl = (double) $this->_source->getSubtotalInclTax();
$baseSubtotalIncl = (double) $this->_source->getBaseSubtotalInclTax();
if (!$subtotalIncl) {
$subtotalIncl = $this->_source->getSubtotal() + $this->_source->getTaxAmount() - $this->_source->getShippingTaxAmount();
}
if (!$baseSubtotalIncl) {
$baseSubtotalIncl = $this->_source->getBaseSubtotal() + $this->_source->getBaseTaxAmount() - $this->_source->getBaseShippingTaxAmount();
}
$total = $parent->getTotal('subtotal');
if ($total) {
$total->setValue(max(0, $subtotalIncl));
$total->setBaseValue(max(0, $baseSubtotalIncl));
}
}
return $this;
}
示例2: collectRatesByAddress
/**
* Collect rates by address
*
* @param \Magento\Framework\DataObject $address
* @param null|bool|array $limitCarrier
* @return $this
*/
public function collectRatesByAddress(\Magento\Framework\DataObject $address, $limitCarrier = null)
{
/** @var $request \Magento\Quote\Model\Quote\Address\RateRequest */
$request = $this->_shipmentRequestFactory->create();
$request->setAllItems($address->getAllItems());
$request->setDestCountryId($address->getCountryId());
$request->setDestRegionId($address->getRegionId());
$request->setDestPostcode($address->getPostcode());
$request->setPackageValue($address->getBaseSubtotal());
$request->setPackageValueWithDiscount($address->getBaseSubtotalWithDiscount());
$request->setPackageWeight($address->getWeight());
$request->setFreeMethodWeight($address->getFreeMethodWeight());
$request->setPackageQty($address->getItemQty());
$request->setStoreId($this->_storeManager->getStore()->getId());
$request->setWebsiteId($this->_storeManager->getStore()->getWebsiteId());
$request->setBaseCurrency($this->_storeManager->getStore()->getBaseCurrency());
$request->setPackageCurrency($this->_storeManager->getStore()->getCurrentCurrency());
$request->setLimitCarrier($limitCarrier);
$request->setBaseSubtotalInclTax($address->getBaseSubtotalInclTax());
return $this->collectRates($request);
}
示例3: getMethodPrice
/**
* Calculate price considering free shipping and handling fee
*
* @param string $cost
* @param string $method
* @return float|string
* @api
*/
public function getMethodPrice($cost, $method = '')
{
return $method == $this->getConfigData($this->_freeMethod) && $this->getConfigFlag('free_shipping_enable') && $this->getConfigData('free_shipping_subtotal') <= $this->_rawRequest->getBaseSubtotalInclTax() ? '0.00' : $this->getFinalPriceWithHandlingFee($cost);
}
示例4: setRequest
/**
* Prepare and set request in property of current instance
*
* @param \Magento\Framework\DataObject $request
* @return $this
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
* @SuppressWarnings(PHPMD.NPathComplexity)
*/
public function setRequest(\Magento\Framework\DataObject $request)
{
$this->_request = $request;
$this->setStore($request->getStoreId());
$requestObject = new \Magento\Framework\DataObject();
$requestObject->setIsGenerateLabelReturn($request->getIsGenerateLabelReturn());
$requestObject->setStoreId($request->getStoreId());
if ($request->getLimitMethod()) {
$requestObject->setService($request->getLimitMethod());
}
$requestObject = $this->_addParams($requestObject);
if ($request->getDestPostcode()) {
$requestObject->setDestPostal($request->getDestPostcode());
}
$requestObject->setOrigCountry($this->_getDefaultValue($request->getOrigCountry(), Shipment::XML_PATH_STORE_COUNTRY_ID))->setOrigCountryId($this->_getDefaultValue($request->getOrigCountryId(), Shipment::XML_PATH_STORE_COUNTRY_ID));
$shippingWeight = $request->getPackageWeight();
$requestObject->setValue(round($request->getPackageValue(), 2))->setValueWithDiscount($request->getPackageValueWithDiscount())->setCustomsValue($request->getPackageCustomsValue())->setDestStreet($this->string->substr(str_replace("\n", '', $request->getDestStreet()), 0, 35))->setDestStreetLine2($request->getDestStreetLine2())->setDestCity($request->getDestCity())->setOrigCompanyName($request->getOrigCompanyName())->setOrigCity($request->getOrigCity())->setOrigPhoneNumber($request->getOrigPhoneNumber())->setOrigPersonName($request->getOrigPersonName())->setOrigEmail($this->_scopeConfig->getValue('trans_email/ident_general/email', \Magento\Store\Model\ScopeInterface::SCOPE_STORE, $requestObject->getStoreId()))->setOrigCity($request->getOrigCity())->setOrigPostal($request->getOrigPostal())->setOrigStreetLine2($request->getOrigStreetLine2())->setDestPhoneNumber($request->getDestPhoneNumber())->setDestPersonName($request->getDestPersonName())->setDestCompanyName($request->getDestCompanyName());
$originStreet2 = $this->_scopeConfig->getValue(Shipment::XML_PATH_STORE_ADDRESS2, \Magento\Store\Model\ScopeInterface::SCOPE_STORE, $requestObject->getStoreId());
$requestObject->setOrigStreet($request->getOrigStreet() ? $request->getOrigStreet() : $originStreet2);
if (is_numeric($request->getOrigState())) {
$requestObject->setOrigState($this->_regionFactory->create()->load($request->getOrigState())->getCode());
} else {
$requestObject->setOrigState($request->getOrigState());
}
if ($request->getDestCountryId()) {
$destCountry = $request->getDestCountryId();
} else {
$destCountry = self::USA_COUNTRY_ID;
}
// for DHL, Puerto Rico state for US will assume as Puerto Rico country
// for Puerto Rico, dhl will ship as international
if ($destCountry == self::USA_COUNTRY_ID && ($request->getDestPostcode() == '00912' || $request->getDestRegionCode() == self::PUERTORICO_COUNTRY_ID)) {
$destCountry = self::PUERTORICO_COUNTRY_ID;
}
$requestObject->setDestCountryId($destCountry)->setDestState($request->getDestRegionCode())->setWeight($shippingWeight)->setFreeMethodWeight($request->getFreeMethodWeight())->setOrderShipment($request->getOrderShipment());
if ($request->getPackageId()) {
$requestObject->setPackageId($request->getPackageId());
}
$requestObject->setBaseSubtotalInclTax($request->getBaseSubtotalInclTax());
$this->setRawRequest($requestObject);
return $this;
}