File tree Expand file tree Collapse file tree 2 files changed +49
-0
lines changed
app/code/Magento/ConfigurableProduct
Model/ResourceModel/Product Expand file tree Collapse file tree 2 files changed +49
-0
lines changed Original file line number Diff line number Diff line change
1
+ <?php
2
+ /**
3
+ * Copyright © Magento, Inc. All rights reserved.
4
+ * See COPYING.txt for license details.
5
+ */
6
+ namespace Magento \ConfigurableProduct \Model \ResourceModel \Product ;
7
+
8
+ use Magento \Catalog \Model \ResourceModel \Product \LinkedProductSelectBuilderInterface ;
9
+
10
+ class LinkedProductSelectBuilderComposite implements LinkedProductSelectBuilderInterface
11
+ {
12
+ /**
13
+ * @var LinkedProductSelectBuilderInterface[]
14
+ */
15
+ private $ linkedProductSelectBuilder ;
16
+
17
+ /**
18
+ * @param LinkedProductSelectBuilderInterface[] $linkedProductSelectBuilder
19
+ */
20
+ public function __construct ($ linkedProductSelectBuilder )
21
+ {
22
+ $ this ->linkedProductSelectBuilder = $ linkedProductSelectBuilder ;
23
+ }
24
+
25
+ /**
26
+ * {@inheritdoc}
27
+ */
28
+ public function build ($ productId )
29
+ {
30
+ $ selects = [];
31
+ foreach ($ this ->linkedProductSelectBuilder as $ productSelectBuilder ) {
32
+ $ selects = array_merge ($ selects , $ productSelectBuilder ->build ($ productId ));
33
+ }
34
+
35
+ return $ selects ;
36
+ }
37
+ }
Original file line number Diff line number Diff line change 189
189
<argument name =" productIndexer" xsi : type =" object" >Magento\Catalog\Model\Indexer\Product\Full</argument >
190
190
</arguments >
191
191
</type >
192
+ <virtualType name =" LinkedProductSelectBuilderByIndexMinPrice" type =" Magento\ConfigurableProduct\Model\ResourceModel\Product\LinkedProductSelectBuilderComposite" >
193
+ <arguments >
194
+ <argument name =" linkedProductSelectBuilder" xsi : type =" array" >
195
+ <item name =" indexPrice" xsi : type =" object" >Magento\Catalog\Model\ResourceModel\Product\Indexer\LinkedProductSelectBuilderByIndexPrice</item >
196
+ </argument >
197
+ </arguments >
198
+ </virtualType >
199
+ <type name =" Magento\ConfigurableProduct\Model\ResourceModel\Product\LinkedProductSelectBuilder" >
200
+ <arguments >
201
+ <argument name =" linkedProductSelectBuilder" xsi : type =" object" >LinkedProductSelectBuilderByIndexMinPrice</argument >
202
+ </arguments >
203
+ </type >
192
204
<type name =" Magento\ConfigurableProduct\Pricing\Price\LowestPriceOptionsProvider" >
193
205
<arguments >
194
206
<argument name =" linkedProductSelectBuilder" xsi : type =" object" >Magento\ConfigurableProduct\Model\ResourceModel\Product\LinkedProductSelectBuilder</argument >
You can’t perform that action at this time.
0 commit comments