di.xml 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. <?xml version="1.0"?>
  2. <!--
  3. /**
  4. * Copyright © Magento, Inc. All rights reserved.
  5. * See COPYING.txt for license details.
  6. */
  7. -->
  8. <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
  9. <preference for="Magento\Bundle\Api\ProductOptionTypeListInterface" type="Magento\Bundle\Model\OptionTypeList" />
  10. <preference for="Magento\Bundle\Api\Data\OptionTypeInterface" type="Magento\Bundle\Model\Source\Option\Type" />
  11. <preference for="Magento\Bundle\Api\ProductLinkManagementInterface" type="Magento\Bundle\Model\LinkManagement" />
  12. <preference for="Magento\Bundle\Api\Data\LinkInterface" type="Magento\Bundle\Model\Link" />
  13. <preference for="Magento\Bundle\Api\ProductOptionRepositoryInterface" type="Magento\Bundle\Model\OptionRepository" />
  14. <preference for="Magento\Bundle\Api\ProductOptionManagementInterface" type="Magento\Bundle\Model\OptionManagement" />
  15. <preference for="Magento\Bundle\Api\Data\OptionInterface" type="Magento\Bundle\Model\Option" />
  16. <preference for="Magento\Bundle\Api\Data\BundleOptionInterface" type="Magento\Bundle\Model\BundleOption" />
  17. <preference for="Magento\Bundle\Pricing\Adjustment\SelectionPriceListProviderInterface" type="Magento\Bundle\Pricing\Adjustment\DefaultSelectionPriceListProvider" />
  18. <type name="Magento\Bundle\Model\Source\Option\Type">
  19. <arguments>
  20. <argument name="options" xsi:type="array">
  21. <item name="select" xsi:type="string">Drop-down</item>
  22. <item name="radio" xsi:type="string">Radio Buttons</item>
  23. <item name="checkbox" xsi:type="string">Checkbox</item>
  24. <item name="multi" xsi:type="string">Multiple Select</item>
  25. </argument>
  26. </arguments>
  27. </type>
  28. <type name="Magento\Catalog\Model\Product\CatalogPrice">
  29. <arguments>
  30. <argument name="priceModelPool" xsi:type="array">
  31. <item name="bundle" xsi:type="string">Magento\Bundle\Model\Product\CatalogPrice</item>
  32. </argument>
  33. </arguments>
  34. </type>
  35. <virtualType name="Magento\Bundle\Pricing\Adjustment\Collection" type="Magento\Framework\Pricing\Adjustment\Collection">
  36. </virtualType>
  37. <preference for="Magento\Bundle\Pricing\Adjustment\BundleCalculatorInterface" type="Magento\Bundle\Pricing\Adjustment\Calculator" />
  38. <virtualType name="Magento\Bundle\Pricing\PriceInfo" type="Magento\Framework\Pricing\PriceInfo\Base">
  39. <arguments>
  40. <argument name="adjustmentCollection" xsi:type="object">Magento\Bundle\Pricing\Adjustment\Collection</argument>
  41. </arguments>
  42. </virtualType>
  43. <virtualType name="Magento\Bundle\Pricing\Price\Pool" type="Magento\Framework\Pricing\Price\Pool">
  44. <arguments>
  45. <argument name="prices" xsi:type="array">
  46. <item name="regular_price" xsi:type="string">Magento\Bundle\Pricing\Price\BundleRegularPrice</item>
  47. <item name="final_price" xsi:type="string">Magento\Bundle\Pricing\Price\FinalPrice</item>
  48. <item name="tier_price" xsi:type="string">Magento\Bundle\Pricing\Price\TierPrice</item>
  49. <item name="special_price" xsi:type="string">Magento\Bundle\Pricing\Price\SpecialPrice</item>
  50. <item name="custom_option_price" xsi:type="string">Magento\Catalog\Pricing\Price\CustomOptionPrice</item>
  51. <item name="base_price" xsi:type="string">Magento\Catalog\Pricing\Price\BasePrice</item>
  52. <item name="configured_price" xsi:type="string">Magento\Bundle\Pricing\Price\ConfiguredPrice</item>
  53. <item name="configured_regular_price" xsi:type="string">Magento\Bundle\Pricing\Price\ConfiguredRegularPrice</item>
  54. <item name="bundle_option" xsi:type="string">Magento\Bundle\Pricing\Price\BundleOptionPrice</item>
  55. <item name="bundle_option_regular_price" xsi:type="string">Magento\Bundle\Pricing\Price\BundleOptionRegularPrice</item>
  56. <item name="catalog_rule_price" xsi:type="string">Magento\CatalogRule\Pricing\Price\CatalogRulePrice</item>
  57. </argument>
  58. </arguments>
  59. </virtualType>
  60. <virtualType name="Magento\Bundle\Pricing\Price\Collection" type="Magento\Framework\Pricing\Price\Collection">
  61. <arguments>
  62. <argument name="pool" xsi:type="object">Magento\Bundle\Pricing\Price\Pool</argument>
  63. </arguments>
  64. </virtualType>
  65. <type name="Magento\Framework\Pricing\PriceInfo\Factory">
  66. <arguments>
  67. <argument name="types" xsi:type="array">
  68. <item name="bundle" xsi:type="array">
  69. <item name="infoClass" xsi:type="string">Magento\Bundle\Pricing\PriceInfo</item>
  70. <item name="prices" xsi:type="string">Magento\Bundle\Pricing\Price\Collection</item>
  71. </item>
  72. </argument>
  73. </arguments>
  74. </type>
  75. <type name="Magento\Bundle\Pricing\Price\FinalPrice">
  76. <arguments>
  77. <argument name="calculator" xsi:type="object">Magento\Bundle\Pricing\Adjustment\BundleCalculatorInterface</argument>
  78. </arguments>
  79. </type>
  80. <type name="Magento\Catalog\Pricing\Price\ConfiguredPriceSelection">
  81. <arguments>
  82. <argument name="calculator" xsi:type="object">Magento\Bundle\Pricing\Adjustment\BundleCalculatorInterface</argument>
  83. </arguments>
  84. </type>
  85. <type name="Magento\Catalog\Model\Product\Attribute\Backend\Price">
  86. <plugin name="bundle" type="Magento\Bundle\Model\Plugin\PriceBackend" sortOrder="100" />
  87. </type>
  88. <type name="Magento\Catalog\Model\Product">
  89. <plugin name="bundle" type="Magento\Bundle\Model\Plugin\Product" sortOrder="100" />
  90. </type>
  91. <type name="Magento\Sales\Model\Order\Item">
  92. <plugin name="bundle" type="Magento\Bundle\Model\Sales\Order\Plugin\Item" sortOrder="100" />
  93. </type>
  94. <type name="Magento\Framework\EntityManager\Operation\ExtensionPool">
  95. <arguments>
  96. <argument name="extensionActions" xsi:type="array">
  97. <item name="Magento\Catalog\Api\Data\ProductInterface" xsi:type="array">
  98. <item name="create" xsi:type="array">
  99. <item name="create_bundle_options" xsi:type="string">Magento\Bundle\Model\Product\SaveHandler</item>
  100. </item>
  101. <item name="update" xsi:type="array">
  102. <item name="update_bundle_options" xsi:type="string">Magento\Bundle\Model\Product\SaveHandler</item>
  103. </item>
  104. <item name="read" xsi:type="array">
  105. <item name="read_bundle_options" xsi:type="string">Magento\Bundle\Model\Product\ReadHandler</item>
  106. </item>
  107. </item>
  108. </argument>
  109. </arguments>
  110. </type>
  111. <type name="Magento\Bundle\Model\Product\Type">
  112. <arguments>
  113. <argument name="stockRegistry" xsi:type="object">Magento\CatalogInventory\Api\StockRegistryInterface\Proxy</argument>
  114. <argument name="stockState" xsi:type="object">Magento\CatalogInventory\Api\StockStateInterface\Proxy</argument>
  115. </arguments>
  116. </type>
  117. <type name="Magento\Catalog\Helper\Product">
  118. <arguments>
  119. <argument name="reindexPriceIndexerData" xsi:type="array">
  120. <item name="byDataResult" xsi:type="array">
  121. <item name="is_relations_changed" xsi:type="string">is_relations_changed</item>
  122. </item>
  123. </argument>
  124. </arguments>
  125. </type>
  126. <type name="Magento\Quote\Model\Quote\Item">
  127. <plugin name="update_price_for_bundle_in_quote_item_option" type="Magento\Bundle\Plugin\UpdatePriceInQuoteItemOptions"/>
  128. </type>
  129. <type name="Magento\Quote\Model\Quote\Item\ToOrderItem">
  130. <plugin name="append_bundle_data_to_order" type="Magento\Bundle\Model\Plugin\QuoteItem"/>
  131. </type>
  132. <type name="Magento\Quote\Model\Quote\Item\Repository">
  133. <arguments>
  134. <argument name="cartItemProcessors" xsi:type="array">
  135. <item name="bundle" xsi:type="object">\Magento\Bundle\Model\CartItemProcessor\Proxy</item>
  136. </argument>
  137. </arguments>
  138. </type>
  139. <type name="Magento\Sales\Api\OrderItemRepositoryInterface">
  140. <arguments>
  141. <argument name="processorPool" xsi:type="array">
  142. <item name="bundle" xsi:type="object">Magento\Bundle\Model\ProductOptionProcessor</item>
  143. </argument>
  144. </arguments>
  145. </type>
  146. <type name="Magento\Sales\Model\Order\ProductOption">
  147. <arguments>
  148. <argument name="processorPool" xsi:type="array">
  149. <item name="bundle" xsi:type="object">Magento\Bundle\Model\ProductOptionProcessor</item>
  150. </argument>
  151. </arguments>
  152. </type>
  153. <type name="Magento\Bundle\Ui\DataProvider\Product\Listing\Collector\BundlePrice">
  154. <arguments>
  155. <argument name="excludeAdjustments" xsi:type="array">
  156. <item name="weee" xsi:type="string">weee</item>
  157. <item name="weee_tax" xsi:type="string">weee_tax</item>
  158. </argument>
  159. </arguments>
  160. </type>
  161. <type name="Magento\Catalog\Ui\DataProvider\Product\ProductRenderCollectorComposite">
  162. <arguments>
  163. <argument name="productProviders" xsi:type="array">
  164. <item name="bundle_price" xsi:type="object">\Magento\Bundle\Ui\DataProvider\Product\Listing\Collector\BundlePrice</item>
  165. </argument>
  166. </arguments>
  167. </type>
  168. <type name="Magento\Catalog\Model\Product\Price\SpecialPriceStorage">
  169. <arguments>
  170. <argument name="allowedProductTypes" xsi:type="array">
  171. <item name="2" xsi:type="string">bundle</item>
  172. </argument>
  173. </arguments>
  174. </type>
  175. <type name="Magento\Catalog\Model\ResourceModel\Product\Indexer\Price\BatchSizeCalculator">
  176. <arguments>
  177. <argument name="estimators" xsi:type="array">
  178. <item name="bundle" xsi:type="object">Magento\Catalog\Model\Indexer\Price\CompositeProductBatchSizeManagement</item>
  179. </argument>
  180. <argument name="batchSizeAdjusters" xsi:type="array">
  181. <item name="bundle" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\Price\CompositeProductBatchSizeAdjuster</item>
  182. </argument>
  183. </arguments>
  184. </type>
  185. <type name="Magento\Bundle\Model\ResourceModel\Indexer\Price">
  186. <arguments>
  187. <argument name="tableStrategy" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\TemporaryTableStrategy</argument>
  188. <argument name="connectionName" xsi:type="string">indexer</argument>
  189. </arguments>
  190. </type>
  191. <type name="Magento\CatalogInventory\Model\Indexer\Stock\Action\Full">
  192. <arguments>
  193. <argument name="batchRowsCount" xsi:type="array">
  194. <item name="bundle" xsi:type="number">136</item>
  195. </argument>
  196. </arguments>
  197. </type>
  198. <type name="Magento\Framework\EntityManager\MetadataPool">
  199. <arguments>
  200. <argument name="metadata" xsi:type="array">
  201. <item name="Magento\Bundle\Api\Data\OptionInterface" xsi:type="array">
  202. <item name="entityTableName" xsi:type="string">catalog_product_bundle_option</item>
  203. <item name="identifierField" xsi:type="string">option_id</item>
  204. </item>
  205. <item name="Magento\Bundle\Model\Selection" xsi:type="array">
  206. <item name="entityTableName" xsi:type="string">catalog_product_bundle_selection</item>
  207. <item name="identifierField" xsi:type="string">selection_id</item>
  208. </item>
  209. </argument>
  210. </arguments>
  211. </type>
  212. <type name="Magento\Framework\EntityManager\HydratorPool">
  213. <arguments>
  214. <argument name="hydrators" xsi:type="array">
  215. <item name="Magento\Bundle\Api\Data\OptionInterface" xsi:type="string">Magento\Framework\EntityManager\AbstractModelHydrator</item>
  216. <item name="Magento\Bundle\Model\Selection" xsi:type="string">Magento\Framework\EntityManager\AbstractModelHydrator</item>
  217. </argument>
  218. </arguments>
  219. </type>
  220. <type name="Magento\SalesRule\Model\Quote\ChildrenValidationLocator">
  221. <arguments>
  222. <argument name="productTypeChildrenValidationMap" xsi:type="array">
  223. <item name="bundle" xsi:type="boolean">false</item>
  224. </argument>
  225. </arguments>
  226. </type>
  227. </config>