![]() 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/old/vendor/magento/module-grouped-product/Pricing/Price/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\GroupedProduct\Pricing\Price; use Magento\Catalog\Model\Product; use Magento\Catalog\Pricing\Price\FinalPriceInterface; /** * Final price model */ class FinalPrice extends \Magento\Catalog\Pricing\Price\FinalPrice implements FinalPriceInterface { /** * Price type final */ const PRICE_CODE = 'final_price'; /** * @var Product */ protected $minProduct; /** * Return minimal product price * * @return float */ public function getValue() { $minProduct = $this->getMinProduct(); return $minProduct ? $minProduct->getPriceInfo()->getPrice(FinalPrice::PRICE_CODE)->getValue() : 0.00; } /** * Returns product with minimal price * * @return Product */ public function getMinProduct() { if (null === $this->minProduct) { $products = $this->product->getTypeInstance()->getAssociatedProducts($this->product); $minPrice = null; foreach ($products as $item) { $product = clone $item; $product->setQty(\Magento\Framework\Pricing\PriceInfoInterface::PRODUCT_QUANTITY_DEFAULT); $price = $product->getPriceInfo() ->getPrice(FinalPrice::PRICE_CODE) ->getValue(); if (($price !== false) && ($price <= ($minPrice === null ? $price : $minPrice))) { $this->minProduct = $product; $minPrice = $price; } } } return $this->minProduct; } }