di.xml 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  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\CatalogInventory\Api\Data\StockInterface" type="Magento\CatalogInventory\Model\Stock" />
  10. <preference for="Magento\CatalogInventory\Api\Data\StockItemInterface" type="Magento\CatalogInventory\Model\Stock\Item" />
  11. <preference for="Magento\CatalogInventory\Api\Data\StockStatusInterface" type="Magento\CatalogInventory\Model\Stock\Status" />
  12. <preference for="Magento\CatalogInventory\Api\Data\StockCollectionInterface" type="Magento\CatalogInventory\Model\ResourceModel\Stock\Collection" />
  13. <preference for="Magento\CatalogInventory\Api\Data\StockItemCollectionInterface" type="Magento\CatalogInventory\Model\ResourceModel\Stock\Item\Collection" />
  14. <preference for="Magento\CatalogInventory\Api\Data\StockStatusCollectionInterface" type="Magento\CatalogInventory\Model\ResourceModel\Stock\Status\Collection" />
  15. <preference for="Magento\CatalogInventory\Api\StockCriteriaInterface" type="Magento\CatalogInventory\Model\ResourceModel\Stock\StockCriteria" />
  16. <preference for="Magento\CatalogInventory\Api\StockItemCriteriaInterface" type="Magento\CatalogInventory\Model\ResourceModel\Stock\Item\StockItemCriteria" />
  17. <preference for="Magento\CatalogInventory\Api\StockStatusCriteriaInterface" type="Magento\CatalogInventory\Model\ResourceModel\Stock\Status\StockStatusCriteria" />
  18. <preference for="Magento\CatalogInventory\Api\StockConfigurationInterface" type="Magento\CatalogInventory\Model\Configuration" />
  19. <preference for="Magento\CatalogInventory\Api\StockManagementInterface" type="Magento\CatalogInventory\Model\StockManagement" />
  20. <preference for="Magento\CatalogInventory\Api\StockIndexInterface" type="Magento\CatalogInventory\Model\StockIndex" />
  21. <preference for="Magento\CatalogInventory\Api\StockRegistryInterface" type="Magento\CatalogInventory\Model\StockRegistry" />
  22. <preference for="Magento\CatalogInventory\Api\StockStateInterface" type="Magento\CatalogInventory\Model\StockState" />
  23. <preference for="Magento\CatalogInventory\Api\StockRepositoryInterface" type="Magento\CatalogInventory\Model\Stock\StockRepository" />
  24. <preference for="Magento\CatalogInventory\Api\StockItemRepositoryInterface" type="Magento\CatalogInventory\Model\Stock\StockItemRepository" />
  25. <preference for="Magento\CatalogInventory\Api\StockStatusRepositoryInterface" type="Magento\CatalogInventory\Model\Stock\StockStatusRepository" />
  26. <preference for="Magento\CatalogInventory\Model\Spi\StockRegistryProviderInterface" type="Magento\CatalogInventory\Model\StockRegistryProvider" />
  27. <preference for="Magento\CatalogInventory\Model\Spi\StockStateProviderInterface" type="Magento\CatalogInventory\Model\StockStateProvider" />
  28. <preference for="Magento\CatalogInventory\Model\ResourceModel\QtyCounterInterface" type="Magento\CatalogInventory\Model\ResourceModel\Stock" />
  29. <type name="Magento\Catalog\Model\Product\Attribute\Repository">
  30. <plugin name="filterCustomAttribute" type="Magento\CatalogInventory\Model\Plugin\FilterCustomAttribute" />
  31. </type>
  32. <type name="Magento\Catalog\Model\FilterProductCustomAttribute">
  33. <arguments>
  34. <argument name="blackList" xsi:type="array">
  35. <item name="quantity_and_stock_status" xsi:type="string">quantity_and_stock_status</item>
  36. </argument>
  37. </arguments>
  38. </type>
  39. <type name="Magento\CatalogInventory\Observer\UpdateItemsStockUponConfigChangeObserver">
  40. <arguments>
  41. <argument name="resourceStock" xsi:type="object">Magento\CatalogInventory\Model\ResourceModel\Stock\Proxy</argument>
  42. </arguments>
  43. </type>
  44. <type name="Magento\Catalog\Model\Layer">
  45. <plugin name="addStockStatusOnPrepareFrontCollection" type="Magento\CatalogInventory\Model\Plugin\Layer"/>
  46. </type>
  47. <type name="Magento\Framework\Module\Setup\Migration">
  48. <arguments>
  49. <argument name="compositeModules" xsi:type="array">
  50. <item name="cataloginventory" xsi:type="string">Magento_CatalogInventory</item>
  51. </argument>
  52. </arguments>
  53. </type>
  54. <type name="Magento\Store\Model\ResourceModel\Group">
  55. <plugin name="storeGroupResourceAroundBeforeSave" type="Magento\CatalogInventory\Model\Indexer\Stock\Plugin\StoreGroup"/>
  56. </type>
  57. <type name="Magento\Catalog\Model\Indexer\Product\Full">
  58. <arguments>
  59. <argument name="indexerList" xsi:type="array">
  60. <item name="cataloginventory_stock" xsi:type="const">Magento\CatalogInventory\Model\Indexer\Stock\Processor::INDEXER_ID</item>
  61. </argument>
  62. </arguments>
  63. </type>
  64. <type name="Magento\Catalog\Block\Product\View">
  65. <plugin name="quantityValidators" type="Magento\CatalogInventory\Block\Plugin\ProductView" />
  66. </type>
  67. <type name="Magento\CatalogInventory\Model\Configuration">
  68. <arguments>
  69. <argument name="config" xsi:type="object">Magento\Catalog\Model\ProductTypes\Config\Proxy</argument>
  70. </arguments>
  71. </type>
  72. <type name="Magento\Catalog\Model\Product">
  73. <plugin name="catalogInventoryAfterLoad" type="Magento\CatalogInventory\Model\Plugin\AfterProductLoad"/>
  74. </type>
  75. <type name="Magento\Catalog\Model\Product\Action">
  76. <plugin name="ReindexUpdatedProducts" type="Magento\CatalogInventory\Model\Plugin\ReindexUpdatedProducts"/>
  77. </type>
  78. <type name="Magento\CatalogInventory\Setup\UpgradeData">
  79. <arguments>
  80. <argument name="indexerProcessor" xsi:type="object">Magento\CatalogInventory\Model\Indexer\Stock\Processor</argument>
  81. </arguments>
  82. </type>
  83. <type name="Magento\Catalog\Model\ResourceModel\Product\CompositeBaseSelectProcessor">
  84. <arguments>
  85. <argument name="baseSelectProcessors" xsi:type="array">
  86. <item name="stock_status" xsi:type="object">Magento\CatalogInventory\Model\ResourceModel\Product\StockStatusBaseSelectProcessor</item>
  87. </argument>
  88. </arguments>
  89. </type>
  90. <virtualType name="Magento\CatalogInventory\Model\Indexer\Stock\BatchSizeManagement" type="Magento\Framework\Indexer\BatchSizeManagement">
  91. <arguments>
  92. <argument name="rowSizeEstimator" xsi:type="object">Magento\CatalogInventory\Model\ResourceModel\Indexer\Stock\IndexTableRowSizeEstimator</argument>
  93. </arguments>
  94. </virtualType>
  95. <virtualType name="Magento\CatalogInventory\Model\ResourceModel\Indexer\Stock\IndexTableRowSizeEstimator" type="Magento\Framework\Indexer\IndexTableRowSizeEstimator">
  96. <arguments>
  97. <argument name="rowMemorySize" xsi:type="number">100</argument>
  98. </arguments>
  99. </virtualType>
  100. <type name="Magento\CatalogInventory\Model\Indexer\Stock\Action\Full">
  101. <arguments>
  102. <argument name="batchRowsCount" xsi:type="array">
  103. <item name="default" xsi:type="number">200</item>
  104. </argument>
  105. <argument name="batchSizeManagement" xsi:type="object">Magento\CatalogInventory\Model\Indexer\Stock\BatchSizeManagement</argument>
  106. </arguments>
  107. </type>
  108. <type name="Magento\Framework\Data\CollectionModifier">
  109. <arguments>
  110. <argument name="conditions" xsi:type="array">
  111. <item name="stockStatusCondition" xsi:type="object">Magento\CatalogInventory\Model\ProductCollectionStockCondition</item>
  112. </argument>
  113. </arguments>
  114. </type>
  115. <type name="Magento\Catalog\Model\ResourceModel\Product\Indexer\Price\PriceInterface">
  116. <arguments>
  117. <argument name="priceModifiers" xsi:type="array">
  118. <item name="inventoryProductPriceIndexFilter" xsi:type="object">Magento\CatalogInventory\Model\Indexer\ProductPriceIndexFilter</item>
  119. </argument>
  120. </arguments>
  121. </type>
  122. <type name="Magento\Catalog\Model\ResourceModel\Product\Indexer\Price\BasePriceModifier">
  123. <arguments>
  124. <argument name="priceModifiers" xsi:type="array">
  125. <item name="inventoryProductPriceIndexFilter" xsi:type="object">Magento\CatalogInventory\Model\Indexer\ProductPriceIndexFilter</item>
  126. </argument>
  127. </arguments>
  128. </type>
  129. <type name="Magento\CatalogInventory\Model\ResourceModel\Stock\Item">
  130. <plugin name="priceIndexUpdater" type="Magento\CatalogInventory\Model\Plugin\PriceIndexUpdater" />
  131. </type>
  132. </config>