No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
 
 
 
 
 
 

288 líneas
18 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\ConfigurableProduct\Api\ConfigurableProductManagementInterface" type="Magento\ConfigurableProduct\Model\ConfigurableProductManagement" />
  10. <preference for="Magento\ConfigurableProduct\Api\LinkManagementInterface" type="Magento\ConfigurableProduct\Model\LinkManagement" />
  11. <preference for="Magento\ConfigurableProduct\Api\OptionRepositoryInterface" type="Magento\ConfigurableProduct\Model\OptionRepository" />
  12. <preference for="Magento\ConfigurableProduct\Api\Data\OptionInterface" type="Magento\ConfigurableProduct\Model\Product\Type\Configurable\Attribute" />
  13. <preference for="Magento\ConfigurableProduct\Api\Data\OptionValueInterface" type="Magento\ConfigurableProduct\Model\Product\Type\Configurable\OptionValue" />
  14. <preference for="Magento\ConfigurableProduct\Api\Data\ConfigurableItemOptionValueInterface" type="Magento\ConfigurableProduct\Model\Quote\Item\ConfigurableItemOptionValue" />
  15. <preference for="Magento\ConfigurableProduct\Pricing\Price\PriceResolverInterface" type="Magento\ConfigurableProduct\Pricing\Price\ConfigurablePriceResolver" />
  16. <preference for="Magento\ConfigurableProduct\Pricing\Price\ConfigurableOptionsProviderInterface" type="Magento\ConfigurableProduct\Pricing\Price\ConfigurableOptionsProvider" />
  17. <preference for="Magento\ConfigurableProduct\Pricing\Price\LowestPriceOptionsProviderInterface" type="Magento\ConfigurableProduct\Pricing\Price\LowestPriceOptionsProvider" />
  18. <preference for="Magento\ConfigurableProduct\Model\AttributeOptionProviderInterface" type="Magento\ConfigurableProduct\Model\AttributeOptionProvider" />
  19. <preference for="Magento\ConfigurableProduct\Model\ResourceModel\Attribute\OptionSelectBuilderInterface" type="Magento\ConfigurableProduct\Model\ResourceModel\Attribute\OptionSelectBuilder" />
  20. <preference for="Magento\ConfigurableProduct\Model\ResourceModel\Product\Indexer\Price\OptionsIndexerInterface" type="Magento\ConfigurableProduct\Model\ResourceModel\Product\Indexer\Price\OptionsIndexer" />
  21. <preference for="Magento\ConfigurableProduct\Model\ResourceModel\Product\Indexer\Price\OptionsSelectBuilderInterface" type="Magento\ConfigurableProduct\Model\ResourceModel\Product\Indexer\Price\OptionsSelectBuilder" />
  22. <preference for="Magento\ConfigurableProduct\Pricing\Price\ConfigurableOptionsFilterInterface" type="Magento\ConfigurableProduct\Pricing\Price\ConfigurableOptionsCompositeFilter" />
  23. <type name="Magento\CatalogInventory\Model\Quote\Item\QuantityValidator\Initializer\Option">
  24. <plugin name="configurable_product" type="Magento\ConfigurableProduct\Model\Quote\Item\QuantityValidator\Initializer\Option\Plugin\ConfigurableProduct" sortOrder="50" />
  25. </type>
  26. <type name="Magento\Catalog\Model\Product\CartConfiguration">
  27. <plugin name="configurable_product" type="Magento\ConfigurableProduct\Model\Product\CartConfiguration\Plugin\Configurable" sortOrder="50" />
  28. </type>
  29. <type name="Magento\Sales\Model\Order\Admin\Item">
  30. <plugin name="configurable_product" type="Magento\ConfigurableProduct\Model\Order\Admin\Item\Plugin\Configurable" sortOrder="50" />
  31. </type>
  32. <type name="Magento\Catalog\Helper\Product\Configuration">
  33. <plugin name="configurable_product" type="Magento\ConfigurableProduct\Helper\Product\Configuration\Plugin" sortOrder="50" />
  34. </type>
  35. <type name="Magento\Eav\Model\Entity\Attribute\Backend\AbstractBackend">
  36. <plugin name="ConfigurableProduct::skipValidation" type="Magento\ConfigurableProduct\Plugin\Model\Attribute\Backend\AttributeValidation"/>
  37. </type>
  38. <type name="Magento\ConfigurableProduct\Plugin\Model\Attribute\Backend\AttributeValidation">
  39. <arguments>
  40. <argument name="unskippableAttributes" xsi:type="array">
  41. <item name="custom_layout_update" xsi:type="string">custom_layout_update</item>
  42. </argument>
  43. </arguments>
  44. </type>
  45. <type name="Magento\Catalog\Model\Entity\Product\Attribute\Group\AttributeMapperInterface">
  46. <plugin name="configurable_product" type="Magento\ConfigurableProduct\Model\Entity\Product\Attribute\Group\AttributeMapper\Plugin" sortOrder="50" />
  47. </type>
  48. <type name="Magento\Catalog\Model\Product\TypeTransitionManager">
  49. <plugin name="configurable_product_transition" type="Magento\ConfigurableProduct\Model\Product\TypeTransitionManager\Plugin\Configurable" sortOrder="50" />
  50. <arguments>
  51. <argument name="compatibleTypes" xsi:type="array">
  52. <item name="configurable" xsi:type="const">Magento\ConfigurableProduct\Model\Product\Type\Configurable::TYPE_CODE</item>
  53. </argument>
  54. </arguments>
  55. </type>
  56. <type name="Magento\Sales\Model\ResourceModel\Report\Bestsellers">
  57. <arguments>
  58. <argument name="ignoredProductTypes" xsi:type="array">
  59. <item name="configurable" xsi:type="const">Magento\ConfigurableProduct\Model\Product\Type\Configurable::TYPE_CODE</item>
  60. </argument>
  61. </arguments>
  62. </type>
  63. <type name="Magento\Eav\Model\Entity\Setup\PropertyMapper\Composite">
  64. <arguments>
  65. <argument name="propertyMappers" xsi:type="array">
  66. <item name="configurable" xsi:type="string">Magento\ConfigurableProduct\Model\ResourceModel\Setup\PropertyMapper</item>
  67. </argument>
  68. </arguments>
  69. </type>
  70. <type name="Magento\Catalog\Model\Attribute\LockValidatorComposite">
  71. <arguments>
  72. <argument name="validators" xsi:type="array">
  73. <item name="configurable" xsi:type="string">Magento\ConfigurableProduct\Model\Attribute\LockValidator</item>
  74. </argument>
  75. </arguments>
  76. </type>
  77. <type name="Magento\Catalog\Api\ProductRepositoryInterface">
  78. <plugin name="configurableProductSaveOptions" sortOrder="10" type="Magento\ConfigurableProduct\Model\Plugin\ProductRepositorySave"/>
  79. </type>
  80. <type name="Magento\Catalog\Model\Product\Type">
  81. <plugin name="configurable_output" type="Magento\ConfigurableProduct\Model\Product\Type\Plugin" />
  82. </type>
  83. <type name="Magento\Framework\EntityManager\Operation\ExtensionPool">
  84. <arguments>
  85. <argument name="extensionActions" xsi:type="array">
  86. <item name="Magento\Catalog\Api\Data\ProductInterface" xsi:type="array">
  87. <item name="create" xsi:type="array">
  88. <item name="create_configurable_options" xsi:type="string">Magento\ConfigurableProduct\Model\Product\SaveHandler</item>
  89. </item>
  90. <item name="update" xsi:type="array">
  91. <item name="update_configurable_options" xsi:type="string">Magento\ConfigurableProduct\Model\Product\SaveHandler</item>
  92. </item>
  93. <item name="read" xsi:type="array">
  94. <item name="read_configurable_options" xsi:type="string">Magento\ConfigurableProduct\Model\Product\ReadHandler</item>
  95. </item>
  96. </item>
  97. </argument>
  98. </arguments>
  99. </type>
  100. <virtualType name="Magento\ConfigurableProduct\Pricing\Price\Pool" type="Magento\Framework\Pricing\Price\Pool">
  101. <arguments>
  102. <argument name="prices" xsi:type="array">
  103. <item name="regular_price" xsi:type="string">Magento\ConfigurableProduct\Pricing\Price\ConfigurableRegularPrice</item>
  104. <item name="final_price" xsi:type="string">Magento\ConfigurableProduct\Pricing\Price\FinalPrice</item>
  105. </argument>
  106. <argument name="target" xsi:type="object">Magento\Catalog\Pricing\Price\Pool</argument>
  107. </arguments>
  108. </virtualType>
  109. <virtualType name="Magento\ConfigurableProduct\Pricing\Price\Collection" type="Magento\Framework\Pricing\Price\Collection">
  110. <arguments>
  111. <argument name="pool" xsi:type="object">Magento\ConfigurableProduct\Pricing\Price\Pool</argument>
  112. </arguments>
  113. </virtualType>
  114. <type name="Magento\Framework\Pricing\PriceInfo\Factory">
  115. <arguments>
  116. <argument name="types" xsi:type="array">
  117. <item name="configurable" xsi:type="array">
  118. <item name="infoClass" xsi:type="string">Magento\Framework\Pricing\PriceInfo\Base</item>
  119. <item name="prices" xsi:type="string">Magento\ConfigurableProduct\Pricing\Price\Collection</item>
  120. </item>
  121. </argument>
  122. </arguments>
  123. </type>
  124. <type name="Magento\Quote\Model\Quote\Item\Repository">
  125. <arguments>
  126. <argument name="cartItemProcessors" xsi:type="array">
  127. <item name="configurable" xsi:type="object">Magento\ConfigurableProduct\Model\Quote\Item\CartItemProcessor\Proxy</item>
  128. </argument>
  129. </arguments>
  130. </type>
  131. <type name="Magento\Sales\Api\OrderItemRepositoryInterface">
  132. <arguments>
  133. <argument name="processorPool" xsi:type="array">
  134. <item name="configurable" xsi:type="object">Magento\ConfigurableProduct\Model\ProductOptionProcessor</item>
  135. </argument>
  136. </arguments>
  137. </type>
  138. <type name="Magento\Sales\Model\Order\ProductOption">
  139. <arguments>
  140. <argument name="processorPool" xsi:type="array">
  141. <item name="configurable" xsi:type="object">Magento\ConfigurableProduct\Model\ProductOptionProcessor</item>
  142. </argument>
  143. </arguments>
  144. </type>
  145. <virtualType name="ConfigurableFinalPriceResolver" type="Magento\ConfigurableProduct\Pricing\Price\ConfigurablePriceResolver">
  146. <arguments>
  147. <argument name="priceResolver" xsi:type="object">Magento\ConfigurableProduct\Pricing\Price\FinalPriceResolver</argument>
  148. </arguments>
  149. </virtualType>
  150. <type name="Magento\ConfigurableProduct\Pricing\Price\FinalPrice">
  151. <arguments>
  152. <argument name="priceResolver" xsi:type="object">ConfigurableFinalPriceResolver</argument>
  153. </arguments>
  154. </type>
  155. <virtualType name="ConfigurableRegularPriceResolver" type="Magento\ConfigurableProduct\Pricing\Price\ConfigurablePriceResolver">
  156. <arguments>
  157. <argument name="priceResolver" xsi:type="object">Magento\ConfigurableProduct\Pricing\Price\RegularPriceResolver</argument>
  158. </arguments>
  159. </virtualType>
  160. <type name="Magento\ConfigurableProduct\Pricing\Price\ConfigurableRegularPrice">
  161. <arguments>
  162. <argument name="priceResolver" xsi:type="object">ConfigurableRegularPriceResolver</argument>
  163. </arguments>
  164. </type>
  165. <type name="Magento\Catalog\Model\Product\Attribute\Backend\Price">
  166. <plugin name="configurable" type="Magento\ConfigurableProduct\Model\Plugin\PriceBackend" sortOrder="100" />
  167. </type>
  168. <type name="Magento\ProductVideo\Block\Product\View\Gallery">
  169. <plugin name="product_video_gallery" type="Magento\ConfigurableProduct\Block\Plugin\Product\Media\Gallery" />
  170. </type>
  171. <type name="Magento\ConfigurableProduct\Model\Product\Type\Configurable">
  172. <arguments>
  173. <argument name="cache" xsi:type="object">Magento\Framework\App\Cache\Type\Collection</argument>
  174. </arguments>
  175. </type>
  176. <type name="Magento\ConfigurableProduct\Model\ResourceModel\Product\Type\Configurable">
  177. <arguments>
  178. <argument name="attributeOptionProvider" xsi:type="object">Magento\ConfigurableProduct\Model\AttributeOptionProvider\Proxy</argument>
  179. </arguments>
  180. </type>
  181. <type name="Magento\ConfigurableProduct\Observer\HideUnsupportedAttributeTypes">
  182. <arguments>
  183. <argument name="supportedTypes" xsi:type="array">
  184. <item name="select" xsi:type="string">select</item>
  185. </argument>
  186. </arguments>
  187. </type>
  188. <type name="Magento\Catalog\Model\ResourceModel\Product\Indexer\Price\BatchSizeCalculator">
  189. <arguments>
  190. <argument name="estimators" xsi:type="array">
  191. <item name="configurable" xsi:type="object">Magento\Catalog\Model\Indexer\Price\CompositeProductBatchSizeManagement</item>
  192. </argument>
  193. <argument name="batchSizeAdjusters" xsi:type="array">
  194. <item name="configurable" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\Price\CompositeProductBatchSizeAdjuster</item>
  195. </argument>
  196. <!--
  197. real batch size will be smaller.
  198. It depends on amount configurable product variations.
  199. E.g for 100 variations real batch size will be 50000/100=500
  200. -->
  201. <argument name="batchRowsCount" xsi:type="array">
  202. <item name="configurable" xsi:type="number">50000</item>
  203. </argument>
  204. </arguments>
  205. </type>
  206. <type name="Magento\ConfigurableProduct\Model\ResourceModel\Product\Indexer\Price\Configurable">
  207. <arguments>
  208. <argument name="tableStrategy" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\TemporaryTableStrategy</argument>
  209. <argument name="connectionName" xsi:type="string">indexer</argument>
  210. <argument name="baseSelectProcessor" xsi:type="object">Magento\ConfigurableProduct\Model\ResourceModel\Product\Indexer\Price\BaseStockStatusSelectProcessor</argument>
  211. </arguments>
  212. </type>
  213. <type name="Magento\ConfigurableProduct\Model\ResourceModel\Product\Indexer\Price\OptionsSelectBuilder">
  214. <arguments>
  215. <argument name="selectProcessor" xsi:type="object">Magento\ConfigurableProduct\Model\ResourceModel\Product\Indexer\Price\BaseStockStatusSelectProcessor</argument>
  216. <argument name="connectionName" xsi:type="string">indexer</argument>
  217. </arguments>
  218. </type>
  219. <type name="Magento\ConfigurableProduct\Plugin\Model\ResourceModel\Product">
  220. <arguments>
  221. <argument name="productIndexer" xsi:type="object">Magento\Catalog\Model\Indexer\Product\Full</argument>
  222. </arguments>
  223. </type>
  224. <type name="Magento\ConfigurableProduct\Pricing\Price\LowestPriceOptionsProvider">
  225. <arguments>
  226. <argument name="linkedProductSelectBuilder" xsi:type="object">Magento\ConfigurableProduct\Model\ResourceModel\Product\LinkedProductSelectBuilder</argument>
  227. </arguments>
  228. </type>
  229. <type name="Magento\ConfigurableProduct\Model\ResourceModel\Product\LinkedProductSelectBuilder">
  230. <arguments>
  231. <argument name="baseSelectProcessor" xsi:type="object">Magento\ConfigurableProduct\Model\ResourceModel\Product\StockStatusBaseSelectProcessor</argument>
  232. <argument name="linkedProductSelectBuilder" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\LinkedProductSelectBuilderByIndexPrice</argument>
  233. </arguments>
  234. </type>
  235. <type name="Magento\Catalog\Model\Product\Pricing\Renderer\SalableResolver">
  236. <plugin name="configurable" type="Magento\ConfigurableProduct\Plugin\Catalog\Model\Product\Pricing\Renderer\SalableResolver" />
  237. </type>
  238. <type name="Magento\Catalog\Model\Product">
  239. <plugin name="product_identities_extender" type="Magento\ConfigurableProduct\Model\Plugin\ProductIdentitiesExtender" />
  240. </type>
  241. <type name="Magento\Catalog\Model\Product\Configuration\Item\ItemResolverComposite">
  242. <arguments>
  243. <argument name="itemResolvers" xsi:type="array">
  244. <item name="configurable" xsi:type="string">Magento\ConfigurableProduct\Model\Product\Configuration\Item\ItemProductResolver</item>
  245. </argument>
  246. </arguments>
  247. </type>
  248. <type name="Magento\SalesRule\Model\Quote\ChildrenValidationLocator">
  249. <arguments>
  250. <argument name="productTypeChildrenValidationMap" xsi:type="array">
  251. <item name="configurable" xsi:type="boolean">false</item>
  252. </argument>
  253. </arguments>
  254. </type>
  255. <type name="Magento\SalesRule\Model\Rule\Condition\Product">
  256. <plugin name="apply_rule_on_configurable_children" type="Magento\ConfigurableProduct\Plugin\SalesRule\Model\Rule\Condition\Product" />
  257. </type>
  258. <type name="Magento\Tax\Model\Sales\Total\Quote\CommonTaxCollector">
  259. <plugin name="apply_tax_class_id" type="Magento\ConfigurableProduct\Plugin\Tax\Model\Sales\Total\Quote\CommonTaxCollector" />
  260. </type>
  261. <type name="Magento\Eav\Model\Entity\Attribute\Group">
  262. <arguments>
  263. <argument name="reservedSystemNames" xsi:type="array">
  264. <item name="configurable" xsi:type="string">configurable</item>
  265. </argument>
  266. </arguments>
  267. </type>
  268. <type name="Magento\CatalogInventory\Observer\SaveInventoryDataObserver">
  269. <arguments>
  270. <argument name="parentItemProcessorPool" xsi:type="array">
  271. <item name="configurable" xsi:type="object"> Magento\ConfigurableProduct\Model\Inventory\ParentItemProcessor</item>
  272. </argument>
  273. </arguments>
  274. </type>
  275. <type name="Magento\ConfigurableProduct\Model\Plugin\Frontend\UsedProductsCache">
  276. <arguments>
  277. <argument name="cache" xsi:type="object">Magento\Framework\App\Cache\Type\Collection</argument>
  278. </arguments>
  279. <arguments>
  280. <argument name="serializer" xsi:type="object">Magento\Framework\Serialize\Serializer\Json</argument>
  281. </arguments>
  282. </type>
  283. <type name="Magento\CatalogInventory\Model\ResourceModel\Stock\Item">
  284. <plugin name="updateStockChangedAuto" type="Magento\ConfigurableProduct\Model\Plugin\UpdateStockChangedAuto" />
  285. </type>
  286. </config>