本文整理汇总了PHP中Magento\Tax\Model\Config::displaySalesSubtotalBoth方法的典型用法代码示例。如果您正苦于以下问题:PHP Config::displaySalesSubtotalBoth方法的具体用法?PHP Config::displaySalesSubtotalBoth怎么用?PHP Config::displaySalesSubtotalBoth使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Magento\Tax\Model\Config
的用法示例。
在下文中一共展示了Config::displaySalesSubtotalBoth方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: checkDisplaySettings
/**
* Check if tax calculation type and price display settings are compatible
*
* Invalid settings if
* Tax Calculation Method Based On 'Total' or 'Row'
* and at least one Price Display Settings has 'Including and Excluding Tax' value
*
* @param null|int|bool|string|\Magento\Store\Model\Store $store $store
* @return bool
*/
public function checkDisplaySettings($store = null)
{
if ($this->taxConfig->getAlgorithm($store) == \Magento\Tax\Model\Calculation::CALC_UNIT_BASE) {
return true;
}
return $this->taxConfig->getPriceDisplayType($store) != \Magento\Tax\Model\Config::DISPLAY_TYPE_BOTH && $this->taxConfig->getShippingPriceDisplayType($store) != \Magento\Tax\Model\Config::DISPLAY_TYPE_BOTH && !$this->taxConfig->displayCartPricesBoth($store) && !$this->taxConfig->displayCartSubtotalBoth($store) && !$this->taxConfig->displayCartShippingBoth($store) && !$this->taxConfig->displaySalesPricesBoth($store) && !$this->taxConfig->displaySalesSubtotalBoth($store) && !$this->taxConfig->displaySalesShippingBoth($store);
}
示例2: _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;
}
示例3: displaySalesSubtotalBoth
/**
* Check if we need display price include and exclude tax for order/invoice subtotal
*
* @param null|int|string|Store $store
* @return bool
*/
public function displaySalesSubtotalBoth($store = null)
{
return $this->_config->displaySalesSubtotalBoth($store);
}