![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/cartforge.co/vendor/magento/framework/Pricing/Render/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Framework\Pricing\Render; use Magento\Framework\Pricing\SaleableInterface; use Magento\Framework\Pricing\Price\PriceInterface; use Magento\Framework\Pricing\PriceCurrencyInterface; use Magento\Framework\View\Element\Template; /** * Adjustment render abstract * * @method string getZone() */ abstract class AbstractAdjustment extends Template implements AdjustmentRenderInterface { /** * @var PriceCurrencyInterface */ protected $priceCurrency; /** * @var AmountRenderInterface */ protected $amountRender; /** * @param Template\Context $context * @param PriceCurrencyInterface $priceCurrency * @param array $data */ public function __construct( Template\Context $context, PriceCurrencyInterface $priceCurrency, array $data = [] ) { $this->priceCurrency = $priceCurrency; parent::__construct($context, $data); } /** * @param AmountRenderInterface $amountRender * @param array $arguments * @return string */ public function render(AmountRenderInterface $amountRender, array $arguments = []) { $this->amountRender = $amountRender; $origArguments = $this->getData(); $this->setData(array_replace($origArguments, $arguments)); $html = $this->apply(); // restore original block arguments $this->setData($origArguments); return $html; } /** * @return AmountRenderInterface */ public function getAmountRender() { return $this->amountRender; } /** * @param string $priceCode * @return PriceInterface */ public function getPriceType($priceCode) { return $this->getSaleableItem()->getPriceInfo()->getPrice($priceCode); } /** * @return \Magento\Framework\Pricing\Price\PriceInterface */ public function getPrice() { return $this->amountRender->getPrice(); } /** * @return SaleableInterface */ public function getSaleableItem() { return $this->amountRender->getSaleableItem(); } /** * Format price value * * @param float $amount * @param bool $includeContainer * @param int $precision * @return string */ public function formatCurrency( $amount, $includeContainer = true, $precision = PriceCurrencyInterface::DEFAULT_PRECISION ) { return $this->priceCurrency->format($amount, $includeContainer, $precision); } /** * Convert and format price value * * @param float $amount * @param bool $includeContainer * @param int $precision * @return string */ public function convertAndFormatCurrency( $amount, $includeContainer = true, $precision = PriceCurrencyInterface::DEFAULT_PRECISION ) { return $this->priceCurrency->convertAndFormat($amount, $includeContainer, $precision); } /** * @return \Magento\Framework\Pricing\Adjustment\AdjustmentInterface */ public function getAdjustment() { return $this->getSaleableItem()->getPriceInfo()->getAdjustment($this->getAdjustmentCode()); } /** * @return string */ abstract protected function apply(); }