1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\ConfigurableProduct\Pricing\Price;
- class FinalPrice extends \Magento\Catalog\Pricing\Price\FinalPrice
- {
- /**
- * @var \Magento\ConfigurableProduct\Pricing\Price\PriceResolverInterface
- */
- protected $priceResolver;
- /**
- * @var array
- */
- protected $values = [];
- /**
- * @param \Magento\Framework\Pricing\SaleableInterface $saleableItem
- * @param float $quantity
- * @param \Magento\Framework\Pricing\Adjustment\CalculatorInterface $calculator
- * @param \Magento\Framework\Pricing\PriceCurrencyInterface $priceCurrency
- * @param PriceResolverInterface $priceResolver
- */
- public function __construct(
- \Magento\Framework\Pricing\SaleableInterface $saleableItem,
- $quantity,
- \Magento\Framework\Pricing\Adjustment\CalculatorInterface $calculator,
- \Magento\Framework\Pricing\PriceCurrencyInterface $priceCurrency,
- PriceResolverInterface $priceResolver
- ) {
- parent::__construct($saleableItem, $quantity, $calculator, $priceCurrency);
- $this->priceResolver = $priceResolver;
- }
- /**
- * {@inheritdoc}
- */
- public function getValue()
- {
- if (!isset($this->values[$this->product->getId()])) {
- $this->values[$this->product->getId()] = $this->priceResolver->resolvePrice($this->product);
- }
- return $this->values[$this->product->getId()];
- }
- }
|