From 33aa293e2337101aac6250a9bdf9c93bf8af3377 Mon Sep 17 00:00:00 2001 From: marina <marina.gociu@gmail.com> Date: Thu, 19 Oct 2017 18:38:43 +0300 Subject: [PATCH] Add price calculation improvement for product option value price The price calculation relied on the getFinalPrice value, which if called without the qty parameter will not consider tier prices. This method was not updated when the price improvements have been added around 4 years ago. See similar update that was added for Magento\Catalog\Model\Product\Option. Resolves: #5774 --- app/code/Magento/Catalog/Model/Product/Option/Value.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/code/Magento/Catalog/Model/Product/Option/Value.php b/app/code/Magento/Catalog/Model/Product/Option/Value.php index 0e86510ebce..62c215e8d59 100644 --- a/app/code/Magento/Catalog/Model/Product/Option/Value.php +++ b/app/code/Magento/Catalog/Model/Product/Option/Value.php @@ -11,6 +11,7 @@ namespace Magento\Catalog\Model\Product\Option; use Magento\Catalog\Model\Product; use Magento\Catalog\Model\Product\Option; use Magento\Framework\Model\AbstractModel; +use Magento\Catalog\Pricing\Price\BasePrice; /** * Catalog product option select type model @@ -223,7 +224,7 @@ class Value extends AbstractModel implements \Magento\Catalog\Api\Data\ProductCu public function getPrice($flag = false) { if ($flag && $this->getPriceType() == self::TYPE_PERCENT) { - $basePrice = $this->getOption()->getProduct()->getFinalPrice(); + $basePrice = $this->getOption()->getProduct()->getPriceInfo()->getPrice(BasePrice::PRICE_CODE)->getValue(); $price = $basePrice * ($this->_getData(self::KEY_PRICE) / 100); return $price; } -- GitLab