You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

294 rivejä
16 KiB

  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\BundleRegularPrice">
  76. <arguments>
  77. <argument name="calculator" xsi:type="object">Magento\Bundle\Pricing\Adjustment\BundleCalculatorInterface</argument>
  78. </arguments>
  79. </type>
  80. <type name="Magento\Bundle\Pricing\Price\FinalPrice">
  81. <arguments>
  82. <argument name="calculator" xsi:type="object">Magento\Bundle\Pricing\Adjustment\BundleCalculatorInterface</argument>
  83. </arguments>
  84. </type>
  85. <type name="Magento\Catalog\Pricing\Price\ConfiguredPriceSelection">
  86. <arguments>
  87. <argument name="calculator" xsi:type="object">Magento\Bundle\Pricing\Adjustment\BundleCalculatorInterface</argument>
  88. </arguments>
  89. </type>
  90. <type name="Magento\Catalog\Model\Product\Attribute\Backend\Price">
  91. <plugin name="bundle" type="Magento\Bundle\Model\Plugin\PriceBackend" sortOrder="100" />
  92. </type>
  93. <type name="Magento\Catalog\Model\Product">
  94. <plugin name="add_bundle_parent_identities" type="Magento\Bundle\Model\Plugin\ProductIdentitiesExtender" sortOrder="100" />
  95. </type>
  96. <type name="Magento\Sales\Model\Order\Item">
  97. <plugin name="bundle" type="Magento\Bundle\Model\Sales\Order\Plugin\Item" sortOrder="100" />
  98. </type>
  99. <type name="Magento\Framework\EntityManager\Operation\ExtensionPool">
  100. <arguments>
  101. <argument name="extensionActions" xsi:type="array">
  102. <item name="Magento\Catalog\Api\Data\ProductInterface" xsi:type="array">
  103. <item name="create" xsi:type="array">
  104. <item name="create_bundle_options" xsi:type="string">Magento\Bundle\Model\Product\SaveHandler</item>
  105. </item>
  106. <item name="update" xsi:type="array">
  107. <item name="update_bundle_options" xsi:type="string">Magento\Bundle\Model\Product\SaveHandler</item>
  108. </item>
  109. <item name="read" xsi:type="array">
  110. <item name="read_bundle_options" xsi:type="string">Magento\Bundle\Model\Product\ReadHandler</item>
  111. </item>
  112. </item>
  113. </argument>
  114. </arguments>
  115. </type>
  116. <type name="Magento\Bundle\Model\Product\Type">
  117. <arguments>
  118. <argument name="stockRegistry" xsi:type="object">Magento\CatalogInventory\Api\StockRegistryInterface\Proxy</argument>
  119. <argument name="stockState" xsi:type="object">Magento\CatalogInventory\Api\StockStateInterface\Proxy</argument>
  120. </arguments>
  121. </type>
  122. <type name="Magento\Catalog\Helper\Product">
  123. <arguments>
  124. <argument name="reindexPriceIndexerData" xsi:type="array">
  125. <item name="byDataResult" xsi:type="array">
  126. <item name="is_relations_changed" xsi:type="string">is_relations_changed</item>
  127. </item>
  128. </argument>
  129. </arguments>
  130. </type>
  131. <type name="Magento\Quote\Model\Quote\Item\ToOrderItem">
  132. <plugin name="append_bundle_data_to_order" type="Magento\Bundle\Model\Plugin\QuoteItem"/>
  133. </type>
  134. <type name="Magento\Quote\Model\Quote\Item\Repository">
  135. <arguments>
  136. <argument name="cartItemProcessors" xsi:type="array">
  137. <item name="bundle" xsi:type="object">\Magento\Bundle\Model\CartItemProcessor\Proxy</item>
  138. </argument>
  139. </arguments>
  140. </type>
  141. <type name="Magento\Sales\Api\OrderItemRepositoryInterface">
  142. <arguments>
  143. <argument name="processorPool" xsi:type="array">
  144. <item name="bundle" xsi:type="object">Magento\Bundle\Model\ProductOptionProcessor</item>
  145. </argument>
  146. </arguments>
  147. </type>
  148. <type name="Magento\Sales\Model\Order\ProductOption">
  149. <arguments>
  150. <argument name="processorPool" xsi:type="array">
  151. <item name="bundle" xsi:type="object">Magento\Bundle\Model\ProductOptionProcessor</item>
  152. </argument>
  153. </arguments>
  154. </type>
  155. <type name="Magento\Bundle\Ui\DataProvider\Product\Listing\Collector\BundlePrice">
  156. <arguments>
  157. <argument name="excludeAdjustments" xsi:type="array">
  158. <item name="weee" xsi:type="string">weee</item>
  159. <item name="weee_tax" xsi:type="string">weee_tax</item>
  160. </argument>
  161. </arguments>
  162. </type>
  163. <type name="Magento\Catalog\Ui\DataProvider\Product\ProductRenderCollectorComposite">
  164. <arguments>
  165. <argument name="productProviders" xsi:type="array">
  166. <item name="bundle_price" xsi:type="object">\Magento\Bundle\Ui\DataProvider\Product\Listing\Collector\BundlePrice</item>
  167. </argument>
  168. </arguments>
  169. </type>
  170. <type name="Magento\Catalog\Model\Product\Price\SpecialPriceStorage">
  171. <arguments>
  172. <argument name="allowedProductTypes" xsi:type="array">
  173. <item name="2" xsi:type="string">bundle</item>
  174. </argument>
  175. </arguments>
  176. </type>
  177. <type name="Magento\Catalog\Model\ResourceModel\Product\Indexer\Price\BatchSizeCalculator">
  178. <arguments>
  179. <argument name="estimators" xsi:type="array">
  180. <item name="bundle" xsi:type="object">Magento\Catalog\Model\Indexer\Price\CompositeProductBatchSizeManagement</item>
  181. </argument>
  182. <argument name="batchSizeAdjusters" xsi:type="array">
  183. <item name="bundle" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\Price\CompositeProductBatchSizeAdjuster</item>
  184. </argument>
  185. </arguments>
  186. </type>
  187. <type name="Magento\Bundle\Model\ResourceModel\Indexer\Price">
  188. <arguments>
  189. <argument name="tableStrategy" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\TemporaryTableStrategy</argument>
  190. <argument name="connectionName" xsi:type="string">indexer</argument>
  191. </arguments>
  192. </type>
  193. <type name="Magento\CatalogInventory\Model\Indexer\Stock\Action\Full">
  194. <arguments>
  195. <argument name="batchRowsCount" xsi:type="array">
  196. <item name="bundle" xsi:type="number">136</item>
  197. </argument>
  198. </arguments>
  199. </type>
  200. <type name="Magento\Framework\EntityManager\MetadataPool">
  201. <arguments>
  202. <argument name="metadata" xsi:type="array">
  203. <item name="Magento\Bundle\Api\Data\OptionInterface" xsi:type="array">
  204. <item name="entityTableName" xsi:type="string">catalog_product_bundle_option</item>
  205. <item name="identifierField" xsi:type="string">option_id</item>
  206. </item>
  207. <item name="Magento\Bundle\Model\Selection" xsi:type="array">
  208. <item name="entityTableName" xsi:type="string">catalog_product_bundle_selection</item>
  209. <item name="identifierField" xsi:type="string">selection_id</item>
  210. </item>
  211. </argument>
  212. </arguments>
  213. </type>
  214. <type name="Magento\Framework\EntityManager\HydratorPool">
  215. <arguments>
  216. <argument name="hydrators" xsi:type="array">
  217. <item name="Magento\Bundle\Api\Data\OptionInterface" xsi:type="string">Magento\Framework\EntityManager\AbstractModelHydrator</item>
  218. <item name="Magento\Bundle\Model\Selection" xsi:type="string">Magento\Framework\EntityManager\AbstractModelHydrator</item>
  219. </argument>
  220. </arguments>
  221. </type>
  222. <type name="Magento\SalesRule\Model\Quote\ChildrenValidationLocator">
  223. <arguments>
  224. <argument name="productTypeChildrenValidationMap" xsi:type="array">
  225. <item name="bundle" xsi:type="boolean">false</item>
  226. </argument>
  227. </arguments>
  228. </type>
  229. <type name="Magento\Eav\Model\Config">
  230. <arguments>
  231. <argument name="attributesForPreload" xsi:type="array">
  232. <item name="catalog_product" xsi:type="array">
  233. <item name="price_type" xsi:type="string">catalog_product</item>
  234. <item name="price_view" xsi:type="string">catalog_product</item>
  235. <item name="shipment_type" xsi:type="string">catalog_product</item>
  236. <item name="sku_type" xsi:type="string">catalog_product</item>
  237. <item name="weight_type" xsi:type="string">catalog_product</item>
  238. </item>
  239. </argument>
  240. </arguments>
  241. </type>
  242. <type name="Magento\Sales\Model\Order\Shipment\ShipmentItemsValidator">
  243. <arguments>
  244. <argument name="validators" xsi:type="array">
  245. <item name="shipment_type" xsi:type="object">Magento\Bundle\Model\Sales\Order\Shipment\BundleShipmentTypeValidator</item>
  246. </argument>
  247. </arguments>
  248. </type>
  249. <type name="Magento\Quote\Model\Quote\Item\Option\Comparator">
  250. <arguments>
  251. <argument name="customComparators" xsi:type="array">
  252. <item name="bundle_selection_attributes" xsi:type="object">Magento\Bundle\Model\Quote\Item\Option\BundleSelectionAttributesComparator</item>
  253. </argument>
  254. </arguments>
  255. </type>
  256. <type name="Magento\Quote\Model\QuoteManagement">
  257. <plugin name="update_bundle_quote_item_options"
  258. type="Magento\Bundle\Plugin\Quote\UpdateBundleQuoteItemOptions"
  259. sortOrder="10"/>
  260. </type>
  261. <type name="Magento\Bundle\Model\ProductRelationsProcessorComposite">
  262. <arguments>
  263. <argument name="processors" xsi:type="array">
  264. <item name="quote_recollect" xsi:type="object">Magento\Bundle\Model\QuoteRecollectProcessor</item>
  265. </argument>
  266. </arguments>
  267. </type>
  268. <type name="Magento\Bundle\Model\QuoteRecollectProcessor">
  269. <arguments>
  270. <argument name="comparisonFieldsTypeMapper" xsi:type="array">
  271. <item name="sku" xsi:type="string">string</item>
  272. <item name="price" xsi:type="string">float</item>
  273. <item name="price_type" xsi:type="string">string</item>
  274. <item name="qty" xsi:type="string">float</item>
  275. <item name="selection_can_change_quantity" xsi:type="string">string</item>
  276. </argument>
  277. </arguments>
  278. </type>
  279. <type name="Magento\Catalog\Model\ResourceModel\Product\Indexer\Price\BasePriceModifier">
  280. <arguments>
  281. <argument name="priceModifiers" xsi:type="array">
  282. <item name="DisabledProductOptionPriceModifier" xsi:type="object">Magento\Bundle\Model\ResourceModel\Indexer\Price\DisabledProductOptionPriceModifier</item>
  283. </argument>
  284. </arguments>
  285. </type>
  286. <type name="Magento\CatalogInventory\Observer\SaveInventoryDataObserver">
  287. <arguments>
  288. <argument name="parentItemProcessorPool" xsi:type="array">
  289. <item name="bundle" xsi:type="object">Magento\Bundle\Model\Inventory\ParentItemProcessor</item>
  290. </argument>
  291. </arguments>
  292. </type>
  293. </config>