Magento Extensions Rating 2024
EXTENSIONS BY CATEGORY
B2B (Business-To-Business)
Blog
Customer
ERP (Enterprise Resource Planning)
Mega Menu
One Step Checkout
Order
POS (Point Of Sale)
Search
Shopping Cart
Sitemap
SEO
Social
Stock & Inventory Management
EXTENSIONS BY DEVELOPER
aheadWorks
Amasty
Boost My Shop
BSS Commerce
Magestore
MageWorx
Mirasvit
Templates Master
Wyomind
XTENTO
Magento 2 Documentation
Magento 2 Documentation
2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
vendor
magento
module-grouped-product
Pricing
Price
ConfiguredPrice.php
Go to the documentation of this file.
1
<?php
7
namespace
Magento\GroupedProduct\Pricing\Price
;
8
9
use
Magento\Catalog\Model\Product
;
10
use
Magento\Catalog\Model\Product\Configuration\Item\ItemInterface
;
11
use
Magento\Catalog\Pricing\Price\ConfiguredPriceInterface
;
12
use
Magento\Catalog\Pricing\Price\FinalPrice
as CatalogFinalPrice;
13
use
Magento\Framework\Pricing\Amount\AmountInterface
;
14
15
class
ConfiguredPrice
extends
CatalogFinalPrice implements
ConfiguredPriceInterface
16
{
20
const
PRICE_CODE
=
self::CONFIGURED_PRICE_CODE
;
21
25
protected
$item
;
26
31
public
function
setItem
(
ItemInterface
$item
)
32
{
33
$this->item =
$item
;
34
return
$this;
35
}
36
42
protected
function
calculatePrice()
43
{
44
$value
= 0.;
46
$typeInstance
= $this->
getProduct
()->getTypeInstance();
47
$associatedProducts =
$typeInstance
48
->setStoreFilter($this->
getProduct
()->getStore(), $this->
getProduct
())
49
->getAssociatedProducts($this->
getProduct
());
50
51
foreach
($associatedProducts as
$product
) {
54
$customOption
= $this->
getProduct
()
55
->getCustomOption(
'associated_product_'
. $product->getId());
56
if
(!
$customOption
) {
57
continue
;
58
}
59
$finalPrice =
$product
->getPriceInfo()
60
->getPrice(
FinalPrice::PRICE_CODE
)
61
->getValue();
62
$value
+= $finalPrice * (
$customOption
->getValue() ?
$customOption
->getValue() : 1);
63
}
64
return
$value
;
65
}
66
72
public
function
getValue
()
73
{
74
return
$this->item ? $this->calculatePrice() : parent::getValue();
75
}
76
}
Magento\GroupedProduct\Pricing\Price\FinalPrice\PRICE_CODE
const PRICE_CODE
Definition:
FinalPrice.php:20
$customOption
$customOption
Definition:
products.php:73
Magento\Catalog\Model\Product\Configuration\Item\ItemInterface
Definition:
ItemInterface.php:15
Magento\GroupedProduct\Pricing\Price\ConfiguredPrice\getValue
getValue()
Definition:
ConfiguredPrice.php:72
Magento\Catalog\Pricing\Price\ConfiguredPriceInterface\CONFIGURED_PRICE_CODE
const CONFIGURED_PRICE_CODE
Definition:
ConfiguredPriceInterface.php:19
Magento\GroupedProduct\Pricing\Price\ConfiguredPrice\setItem
setItem(ItemInterface $item)
Definition:
ConfiguredPrice.php:31
Magento\Framework\Pricing\Price\AbstractPrice\getProduct
getProduct()
Definition:
AbstractPrice.php:136
Magento\Framework\Pricing\Price\AbstractPrice\$value
$value
Definition:
AbstractPrice.php:61
Magento\GroupedProduct\Pricing\Price\ConfiguredPrice\$item
$item
Definition:
ConfiguredPrice.php:25
$typeInstance
$typeInstance
Definition:
order_item_with_bundle_and_options.php:27
Magento\Catalog\Pricing\Price\ConfiguredPriceInterface
Definition:
ConfiguredPriceInterface.php:14
Magento\Framework\Pricing\Amount\AmountInterface
Definition:
AmountInterface.php:15
Magento\Catalog\Model\Product
Definition:
ActionTest.php:6
Magento\GroupedProduct\Pricing\Price\ConfiguredPrice\PRICE_CODE
const PRICE_CODE
Definition:
ConfiguredPrice.php:20
Magento\GroupedProduct\Pricing\Price\ConfiguredPrice
Definition:
ConfiguredPrice.php:15
Magento\Catalog\Pricing\Price\FinalPrice
Definition:
FinalPrice.php:15
Magento\Framework\Pricing\Price\AbstractPrice\$product
$product
Definition:
AbstractPrice.php:41
Magento\GroupedProduct\Pricing\Price
Definition:
FinalPriceTest.php:7