本文整理汇总了PHP中Magento\Tax\Helper\Data::isCatalogPriceDisplayAffectedByTax方法的典型用法代码示例。如果您正苦于以下问题:PHP Data::isCatalogPriceDisplayAffectedByTax方法的具体用法?PHP Data::isCatalogPriceDisplayAffectedByTax怎么用?PHP Data::isCatalogPriceDisplayAffectedByTax使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Magento\Tax\Helper\Data
的用法示例。
在下文中一共展示了Data::isCatalogPriceDisplayAffectedByTax方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: execute
/**
* @param Observer $observer
* @return void
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
*/
public function execute(Observer $observer)
{
if ($this->moduleManager->isEnabled('Magento_PageCache') && $this->cacheConfig->isEnabled() && $this->taxHelper->isCatalogPriceDisplayAffectedByTax()) {
/** @var \Magento\Customer\Model\Data\Customer $customer */
$customer = $observer->getData('customer');
$customerGroupId = $customer->getGroupId();
$customerGroup = $this->groupRepository->getById($customerGroupId);
$customerTaxClassId = $customerGroup->getTaxClassId();
$this->customerSession->setCustomerTaxClassId($customerTaxClassId);
/** @var \Magento\Customer\Api\Data\AddressInterface[] $addresses */
$addresses = $customer->getAddresses();
if (isset($addresses)) {
$defaultShippingFound = false;
$defaultBillingFound = false;
foreach ($addresses as $address) {
if ($address->isDefaultBilling()) {
$defaultBillingFound = true;
$this->customerSession->setDefaultTaxBillingAddress(['country_id' => $address->getCountryId(), 'region_id' => $address->getRegion() ? $address->getRegion()->getRegionId() : null, 'postcode' => $address->getPostcode()]);
}
if ($address->isDefaultShipping()) {
$defaultShippingFound = true;
$this->customerSession->setDefaultTaxShippingAddress(['country_id' => $address->getCountryId(), 'region_id' => $address->getRegion() ? $address->getRegion()->getRegionId() : null, 'postcode' => $address->getPostcode()]);
}
if ($defaultShippingFound && $defaultBillingFound) {
break;
}
}
}
}
}
示例2: aroundDispatch
/**
* @param \Magento\Framework\App\ActionInterface $subject
* @param callable $proceed
* @param \Magento\Framework\App\RequestInterface $request
* @return mixed
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
*/
public function aroundDispatch(\Magento\Framework\App\ActionInterface $subject, \Closure $proceed, \Magento\Framework\App\RequestInterface $request)
{
if (!$this->customerSession->isLoggedIn() || !$this->moduleManager->isEnabled('Magento_PageCache') || !$this->cacheConfig->isEnabled() || !$this->taxHelper->isCatalogPriceDisplayAffectedByTax()) {
return $proceed($request);
}
$defaultBillingAddress = $this->customerSession->getDefaultTaxBillingAddress();
$defaultShippingAddress = $this->customerSession->getDefaultTaxShippingAddress();
$customerTaxClassId = $this->customerSession->getCustomerTaxClassId();
if (!empty($defaultBillingAddress) || !empty($defaultShippingAddress)) {
$taxRates = $this->taxCalculation->getTaxRates($defaultBillingAddress, $defaultShippingAddress, $customerTaxClassId);
$this->httpContext->setValue('tax_rates', $taxRates, 0);
}
return $proceed($request);
}
示例3: execute
/**
* @param Observer $observer
* @return void
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
*/
public function execute(Observer $observer)
{
if ($this->moduleManager->isEnabled('Magento_PageCache') && $this->cacheConfig->isEnabled() && $this->taxHelper->isCatalogPriceDisplayAffectedByTax()) {
/** @var $customerAddress Address */
$address = $observer->getCustomerAddress();
// Check if the address is either the default billing, shipping, or both
if ($this->isDefaultBilling($address)) {
$this->customerSession->setDefaultTaxBillingAddress(['country_id' => $address->getCountryId(), 'region_id' => $address->getRegion() ? $address->getRegionId() : null, 'postcode' => $address->getPostcode()]);
}
if ($this->isDefaultShipping($address)) {
$this->customerSession->setDefaultTaxShippingAddress(['country_id' => $address->getCountryId(), 'region_id' => $address->getRegion() ? $address->getRegionId() : null, 'postcode' => $address->getPostcode()]);
}
}
}
示例4: testIsCatalogPriceDisplayAffectedByTax
/**
* @param bool $expected
* @param bool $displayBothPrices
* @param bool $priceIncludesTax
* @param bool $isCrossBorderTradeEnabled
* @param bool $displayPriceIncludingTax
* @dataProvider dataProviderIsCatalogPriceDisplayAffectedByTax
*/
public function testIsCatalogPriceDisplayAffectedByTax($expected, $displayBothPrices, $priceIncludesTax, $isCrossBorderTradeEnabled, $displayPriceIncludingTax)
{
if ($displayBothPrices == true) {
$this->taxConfigMock->expects($this->at(0))->method('getPriceDisplayType')->willReturn(3);
} else {
$this->taxConfigMock->expects($this->at(0))->method('getPriceDisplayType')->willReturn(2);
$this->taxConfigMock->expects($this->any())->method('priceIncludesTax')->willReturn($priceIncludesTax);
$this->taxConfigMock->expects($this->any())->method('crossBorderTradeEnabled')->willReturn($isCrossBorderTradeEnabled);
if ($displayPriceIncludingTax == true) {
$this->taxConfigMock->expects($this->at(3))->method('getPriceDisplayType')->willReturn(2);
} else {
$this->taxConfigMock->expects($this->at(2))->method('getPriceDisplayType')->willReturn(1);
}
}
$this->assertSame($expected, $this->helper->isCatalogPriceDisplayAffectedByTax(null));
}