Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
 
 
 
 
 
 

1347 řádky
89 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\Catalog\Api\Data\ProductInterface" type="Magento\Catalog\Model\Product" />
  10. <preference for="Magento\Catalog\Api\ProductRepositoryInterface" type="Magento\Catalog\Model\ProductRepository" />
  11. <preference for="Magento\Catalog\Api\CategoryAttributeRepositoryInterface" type="Magento\Catalog\Model\Category\AttributeRepository" />
  12. <preference for="Magento\Catalog\Api\Data\CategoryAttributeInterface" type="Magento\Catalog\Model\Category\Attribute" />
  13. <preference for="Magento\Catalog\Api\CategoryAttributeOptionManagementInterface" type="Magento\Catalog\Model\Category\Attribute\OptionManagement" />
  14. <preference for="Magento\Catalog\Model\ProductTypes\ConfigInterface" type="Magento\Catalog\Model\ProductTypes\Config" />
  15. <preference for="Magento\Catalog\Model\ProductOptions\ConfigInterface" type="Magento\Catalog\Model\ProductOptions\Config" />
  16. <preference for="Magento\Catalog\Model\Product\PriceModifierInterface" type="Magento\Catalog\Model\Product\PriceModifier\Composite" />
  17. <preference for="Magento\Catalog\Model\Attribute\LockValidatorInterface" type="Magento\Catalog\Model\Attribute\LockValidatorComposite" />
  18. <preference for="Magento\Catalog\Model\Entity\Product\Attribute\Group\AttributeMapperInterface" type="Magento\Catalog\Model\Entity\Product\Attribute\Group\AttributeMapper" />
  19. <preference for="Magento\Catalog\Block\Product\ReviewRendererInterface" type="Magento\Catalog\Block\Product\ReviewRenderer\DefaultProvider" />
  20. <preference for="Magento\Framework\Pricing\PriceInfoInterface" type="Magento\Framework\Pricing\PriceInfo\Base" />
  21. <preference for="Magento\Framework\Pricing\PriceCurrencyInterface" type="Magento\Directory\Model\PriceCurrency" />
  22. <preference for="Magento\Framework\Pricing\Adjustment\CalculatorInterface" type="Magento\Framework\Pricing\Adjustment\Calculator" />
  23. <preference for="Magento\Catalog\Api\Data\CategoryInterface" type="Magento\Catalog\Model\Category" />
  24. <preference for="Magento\Catalog\Api\CategoryManagementInterface" type="Magento\Catalog\Model\CategoryManagement" />
  25. <preference for="Magento\Catalog\Api\CategoryRepositoryInterface" type="Magento\Catalog\Model\CategoryRepository" />
  26. <preference for="Magento\Catalog\Api\Data\CategoryTreeInterface" type="Magento\Catalog\Model\Category" />
  27. <preference for="Magento\Catalog\Api\ProductAttributeRepositoryInterface" type="Magento\Catalog\Model\Product\Attribute\Repository" />
  28. <preference for="Magento\Catalog\Api\Data\ProductAttributeInterface" type="Magento\Catalog\Model\ResourceModel\Eav\Attribute" />
  29. <preference for="Magento\Catalog\Api\ProductTypeListInterface" type="Magento\Catalog\Model\ProductTypeList" />
  30. <preference for="Magento\Catalog\Api\Data\ProductTypeInterface" type="Magento\Catalog\Model\ProductType" />
  31. <preference for="Magento\Catalog\Api\ProductAttributeMediaGalleryManagementInterface" type="Magento\Catalog\Model\Product\Gallery\GalleryManagement" />
  32. <preference for="Magento\Catalog\Api\Data\ProductAttributeMediaGalleryEntryInterface" type="Magento\Catalog\Model\Product\Gallery\Entry" />
  33. <preference for="Magento\Catalog\Api\ProductMediaAttributeManagementInterface" type="Magento\Catalog\Model\Product\Media\AttributeManagement" />
  34. <preference for="Magento\Catalog\Api\ProductAttributeTypesListInterface" type="Magento\Catalog\Model\Product\Attribute\TypesList" />
  35. <preference for="Magento\Catalog\Api\Data\ProductAttributeTypeInterface" type="Magento\Catalog\Model\Product\Attribute\Type" />
  36. <preference for="Magento\Catalog\Api\ProductAttributeGroupRepositoryInterface" type="Magento\Catalog\Model\ProductAttributeGroupRepository" />
  37. <preference for="Magento\Catalog\Api\ProductAttributeOptionManagementInterface" type="Magento\Catalog\Model\Product\Attribute\OptionManagement" />
  38. <preference for="Magento\Catalog\Api\ProductAttributeOptionUpdateInterface" type="Magento\Catalog\Model\Product\Attribute\OptionManagement" />
  39. <preference for="Magento\Catalog\Api\ProductLinkRepositoryInterface" type="Magento\Catalog\Model\ProductLink\Repository" />
  40. <preference for="Magento\Catalog\Api\Data\ProductAttributeSearchResultsInterface" type="Magento\Catalog\Model\ProductAttributeSearchResults" />
  41. <preference for="Magento\Catalog\Api\Data\CategoryAttributeSearchResultsInterface" type="Magento\Catalog\Model\CategoryAttributeSearchResults" />
  42. <preference for="Magento\Catalog\Api\Data\ProductSearchResultsInterface" type="Magento\Catalog\Model\ProductSearchResults" />
  43. <preference for="Magento\Catalog\Api\ProductAttributeManagementInterface" type="Magento\Catalog\Model\Product\Attribute\Management" />
  44. <preference for="Magento\Catalog\Api\AttributeSetManagementInterface" type="Magento\Catalog\Model\Product\Attribute\SetManagement" />
  45. <preference for="Magento\Catalog\Api\AttributeSetRepositoryInterface" type="Magento\Catalog\Model\Product\Attribute\SetRepository" />
  46. <preference for="Magento\Catalog\Api\ProductManagementInterface" type="Magento\Catalog\Model\ProductManagement" />
  47. <preference for="Magento\Catalog\Api\AttributeSetFinderInterface" type="Magento\Catalog\Model\Product\Attribute\AttributeSetFinder" />
  48. <preference for="Magento\Catalog\Api\CategoryListInterface" type="Magento\Catalog\Model\CategoryList" />
  49. <preference for="Magento\Catalog\Api\Data\CategorySearchResultsInterface" type="Magento\Catalog\Model\CategorySearchResults" />
  50. <preference for="Magento\Catalog\Model\Config\Source\ProductPriceOptionsInterface" type="Magento\Catalog\Model\Config\Source\Product\Options\Price"/>
  51. <preference for="Magento\Catalog\Model\Indexer\Product\Flat\Table\BuilderInterface" type="Magento\Catalog\Model\Indexer\Product\Flat\Table\Builder"/>
  52. <preference for="Magento\Catalog\Api\ProductRenderListInterface" type="Magento\Catalog\Model\ProductRenderList"/>
  53. <preference for="Magento\Catalog\Api\Data\ProductRenderSearchResultsInterface" type="Magento\Catalog\Model\ProductRenderSearchResults"/>
  54. <preference for="Magento\Catalog\Model\Product\Pricing\Renderer\SalableResolverInterface" type="Magento\Catalog\Model\Product\Pricing\Renderer\SalableResolver"/>
  55. <preference for="Magento\Catalog\Model\Product\Media\ConfigInterface" type="Magento\Catalog\Model\Product\Media\Config"/>
  56. <preference for="Magento\Framework\View\Asset\ContextInterface" type="Magento\Catalog\Model\View\Asset\Image\Context"/>
  57. <preference for="Magento\Catalog\Api\TierPriceStorageInterface" type="Magento\Catalog\Model\Product\Price\TierPriceStorage" />
  58. <preference for="Magento\Catalog\Api\Data\TierPriceInterface" type="Magento\Catalog\Model\Product\Price\TierPrice" />
  59. <preference for="Magento\Catalog\Api\BasePriceStorageInterface" type="Magento\Catalog\Model\Product\Price\BasePriceStorage" />
  60. <preference for="Magento\Catalog\Api\Data\BasePriceInterface" type="Magento\Catalog\Model\Product\Price\BasePrice" />
  61. <preference for="Magento\Catalog\Api\CostStorageInterface" type="Magento\Catalog\Model\Product\Price\CostStorage" />
  62. <preference for="Magento\Catalog\Api\Data\CostInterface" type="Magento\Catalog\Model\Product\Price\Cost" />
  63. <preference for="Magento\Catalog\Api\SpecialPriceStorageInterface" type="Magento\Catalog\Model\Product\Price\SpecialPriceStorage" />
  64. <preference for="Magento\Catalog\Api\Data\SpecialPriceInterface" type="Magento\Catalog\Model\Product\Price\SpecialPrice" />
  65. <preference for="Magento\Catalog\Api\Data\PriceUpdateResultInterface" type="Magento\Catalog\Model\Product\Price\PriceUpdateResult" />
  66. <preference for="Magento\Catalog\Api\SpecialPriceInterface" type="Magento\Catalog\Model\ResourceModel\Product\Price\SpecialPrice" />
  67. <preference for="Magento\Catalog\Model\ProductIdLocatorInterface" type="Magento\Catalog\Model\ProductIdLocator" />
  68. <preference for="Magento\Catalog\Api\Data\ProductRender\ButtonInterface" type="Magento\Catalog\Model\ProductRender\Button" />
  69. <preference for="Magento\Catalog\Api\Data\ProductRender\ImageInterface" type="Magento\Catalog\Model\ProductRender\Image" />
  70. <preference for="Magento\Catalog\Api\Data\ProductRender\PriceInfoInterface" type="Magento\Catalog\Model\ProductRender\PriceInfo" />
  71. <preference for="Magento\Catalog\Api\Data\ProductRender\FormattedPriceInfoInterface" type="Magento\Catalog\Model\ProductRender\FormattedPriceInfo" />
  72. <preference for="Magento\Framework\Indexer\BatchProviderInterface" type="Magento\Framework\Indexer\BatchProvider" />
  73. <preference for="Magento\Catalog\Model\Indexer\Product\Price\UpdateIndexInterface" type="Magento\Catalog\Model\Indexer\Product\Price\InvalidateIndex" />
  74. <preference for="Magento\Catalog\Model\Product\Gallery\ImagesConfigFactoryInterface" type="Magento\Catalog\Model\Product\Gallery\ImagesConfigFactory" />
  75. <preference for="Magento\Catalog\Model\Product\Configuration\Item\ItemResolverInterface" type="Magento\Catalog\Model\Product\Configuration\Item\ItemResolverComposite" />
  76. <preference for="Magento\Catalog\Api\Data\MassActionInterface" type="Magento\Catalog\Model\MassAction" />
  77. <preference for="Magento\Catalog\Model\ProductLink\Data\ListCriteriaInterface" type="Magento\Catalog\Model\ProductLink\Data\ListCriteria" />
  78. <preference for="Magento\Catalog\Api\CategoryListDeleteBySkuInterface" type="Magento\Catalog\Model\CategoryLinkRepository"/>
  79. <preference for="Magento\Theme\CustomerData\MessagesProviderInterface" type="Magento\Catalog\Model\Theme\CustomerData\MessagesProvider"/>
  80. <type name="Magento\Customer\Model\ResourceModel\Visitor">
  81. <plugin name="catalogLog" type="Magento\Catalog\Model\Plugin\Log" />
  82. </type>
  83. <type name="Magento\Catalog\Model\Category\DataProvider">
  84. <arguments>
  85. <argument name="uiConfigFactory" xsi:type="object">uiComponentConfigFactory</argument>
  86. </arguments>
  87. <plugin name="set_page_layout_default_value" type="Magento\Catalog\Model\Plugin\SetPageLayoutDefaultValue" />
  88. </type>
  89. <type name="Magento\Theme\Block\Html\Topmenu">
  90. <plugin name="catalogTopmenu" type="Magento\Catalog\Plugin\Block\Topmenu" />
  91. </type>
  92. <type name="Magento\Framework\Mview\View\StateInterface">
  93. <plugin name="setStatusForMview" type="Magento\Catalog\Model\Indexer\Category\Product\Plugin\MviewState" />
  94. </type>
  95. <type name="Magento\Catalog\Model\Indexer\Category\Product\Plugin\MviewState">
  96. <arguments>
  97. <argument name="state" xsi:type="object" shared="false">Magento\Framework\Mview\View\StateInterface</argument>
  98. <argument name="changelog" xsi:type="object" shared="false">Magento\Framework\Mview\View\ChangelogInterface</argument>
  99. </arguments>
  100. </type>
  101. <type name="Magento\Catalog\Model\Indexer\Product\Full">
  102. <arguments>
  103. <argument name="indexerList" xsi:type="array">
  104. <item name="catalog_category_product" xsi:type="const">Magento\Catalog\Model\Indexer\Category\Product::INDEXER_ID</item>
  105. <item name="catalog_product_category" xsi:type="const">Magento\Catalog\Model\Indexer\Product\Category::INDEXER_ID</item>
  106. <item name="catalog_product_price" xsi:type="const">Magento\Catalog\Model\Indexer\Product\Price\Processor::INDEXER_ID</item>
  107. <item name="catalog_product_attribute" xsi:type="const">Magento\Catalog\Model\Indexer\Product\Eav\Processor::INDEXER_ID</item>
  108. </argument>
  109. </arguments>
  110. </type>
  111. <type name="Magento\Catalog\Model\Product\Attribute\Backend\Media\EntryConverterPool">
  112. <arguments>
  113. <argument name="mediaGalleryEntryConvertersCollection" xsi:type="array">
  114. <item name="image" xsi:type="object">Magento\Catalog\Model\Product\Attribute\Backend\Media\ImageEntryConverter</item>
  115. </argument>
  116. </arguments>
  117. </type>
  118. <type name="Magento\Catalog\Helper\Product">
  119. <arguments>
  120. <argument name="catalogSession" xsi:type="object">Magento\Catalog\Model\Session\Proxy</argument>
  121. <argument name="reindexPriceIndexerData" xsi:type="array">
  122. <item name="byDataResult" xsi:type="array">
  123. <item name="tier_price_changed" xsi:type="string">tier_price_changed</item>
  124. </item>
  125. <item name="byDataChange" xsi:type="array">
  126. <item name="status" xsi:type="string">status</item>
  127. <item name="price" xsi:type="string">price</item>
  128. <item name="special_price" xsi:type="string">special_price</item>
  129. <item name="special_from_date" xsi:type="string">special_from_date</item>
  130. <item name="special_to_date" xsi:type="string">special_to_date</item>
  131. <item name="website_ids" xsi:type="string">website_ids</item>
  132. <item name="gift_wrapping_price" xsi:type="string">gift_wrapping_price</item>
  133. <item name="tax_class_id" xsi:type="string">tax_class_id</item>
  134. </item>
  135. </argument>
  136. <argument name="reindexProductCategoryIndexerData" xsi:type="array">
  137. <item name="byDataChange" xsi:type="array">
  138. <item name="category_ids" xsi:type="string">category_ids</item>
  139. <item name="entity_id" xsi:type="string">entity_id</item>
  140. <item name="store_id" xsi:type="string">store_id</item>
  141. <item name="website_ids" xsi:type="string">website_ids</item>
  142. <item name="visibility" xsi:type="string">visibility</item>
  143. <item name="status" xsi:type="string">status</item>
  144. </item>
  145. </argument>
  146. <argument name="productRepository" xsi:type="object">Magento\Catalog\Api\ProductRepositoryInterface\Proxy</argument>
  147. </arguments>
  148. </type>
  149. <type name="Magento\Catalog\Helper\Product\Edit\Action\Attribute">
  150. <arguments>
  151. <argument name="session" xsi:type="object">Magento\Backend\Model\Session\Proxy</argument>
  152. </arguments>
  153. </type>
  154. <type name="Magento\Catalog\Model\Product">
  155. <arguments>
  156. <argument name="catalogProductStatus" xsi:type="object">Magento\Catalog\Model\Product\Attribute\Source\Status\Proxy</argument>
  157. <argument name="productLink" xsi:type="object">Magento\Catalog\Model\Product\Link\Proxy</argument>
  158. </arguments>
  159. </type>
  160. <type name="Magento\Catalog\Model\ResourceModel\Product\Collection">
  161. <arguments>
  162. <argument name="catalogUrl" xsi:type="object">Magento\Catalog\Model\ResourceModel\Url\Proxy</argument>
  163. <argument name="customerSession" xsi:type="object">Magento\Customer\Model\Session\Proxy</argument>
  164. </arguments>
  165. </type>
  166. <type name="Magento\Catalog\Model\Entity\Product\Attribute\Design\Options\Container">
  167. <arguments>
  168. <argument name="options" xsi:type="array">
  169. <item name="option1" xsi:type="array">
  170. <item name="value" xsi:type="string">container1</item>
  171. <item name="label" xsi:type="string" translatable="true">Product Info Column</item>
  172. </item>
  173. <item name="option2" xsi:type="array">
  174. <item name="value" xsi:type="string">container2</item>
  175. <item name="label" xsi:type="string" translatable="true">Block after Info Column</item>
  176. </item>
  177. </argument>
  178. </arguments>
  179. </type>
  180. <type name="Magento\Catalog\Helper\Data">
  181. <arguments>
  182. <argument name="templateFilterModel" xsi:type="string">Magento\Widget\Model\Template\Filter</argument>
  183. <argument name="catalogSession" xsi:type="object">Magento\Catalog\Model\Session\Proxy</argument>
  184. </arguments>
  185. </type>
  186. <type name="Magento\Catalog\Helper\Output">
  187. <arguments>
  188. <argument name="directivePatterns" xsi:type="array">
  189. <item name="construct" xsi:type="const">\Magento\Framework\Filter\Template::CONSTRUCTION_PATTERN</item>
  190. </argument>
  191. </arguments>
  192. </type>
  193. <type name="Magento\Catalog\Model\Config\Source\GridPerPage">
  194. <arguments>
  195. <argument name="perPageValues" xsi:type="string">9,15,30</argument>
  196. </arguments>
  197. </type>
  198. <type name="Magento\Catalog\Model\ProductIdLocator">
  199. <arguments>
  200. <argument name="idsLimit" xsi:type="number">1000</argument>
  201. </arguments>
  202. </type>
  203. <type name="Magento\Catalog\Model\Config\Source\ListPerPage">
  204. <arguments>
  205. <argument name="options" xsi:type="string">5,10,15,20,25</argument>
  206. </arguments>
  207. </type>
  208. <type name="Magento\Catalog\Helper\Product\Compare">
  209. <arguments>
  210. <argument name="customerSession" xsi:type="object">Magento\Customer\Model\Session\Proxy</argument>
  211. <argument name="catalogSession" xsi:type="object">Magento\Catalog\Model\Session\Proxy</argument>
  212. </arguments>
  213. </type>
  214. <virtualType name="Magento\Catalog\Model\Session\Storage" type="Magento\Framework\Session\Storage">
  215. <arguments>
  216. <argument name="namespace" xsi:type="string">catalog</argument>
  217. </arguments>
  218. </virtualType>
  219. <virtualType name="Magento\Catalog\Model\System\Config\Source\InputtypeFactory" type="Magento\Eav\Model\Adminhtml\System\Config\Source\InputtypeFactory">
  220. <arguments>
  221. <argument name="instanceName" xsi:type="string">Magento\Catalog\Model\System\Config\Source\Inputtype</argument>
  222. </arguments>
  223. </virtualType>
  224. <virtualType name="Magento\Catalog\CategoryImageUpload" type="Magento\Catalog\Model\ImageUploader">
  225. <arguments>
  226. <argument name="baseTmpPath" xsi:type="string">catalog/tmp/category</argument>
  227. <argument name="basePath" xsi:type="string">catalog/category</argument>
  228. <argument name="allowedExtensions" xsi:type="array">
  229. <item name="jpg" xsi:type="string">jpg</item>
  230. <item name="jpeg" xsi:type="string">jpeg</item>
  231. <item name="gif" xsi:type="string">gif</item>
  232. <item name="png" xsi:type="string">png</item>
  233. </argument>
  234. <argument name="allowedMimeTypes" xsi:type="array">
  235. <item name="jpg" xsi:type="string">image/jpg</item>
  236. <item name="jpeg" xsi:type="string">image/jpeg</item>
  237. <item name="gif" xsi:type="string">image/gif</item>
  238. <item name="png" xsi:type="string">image/png</item>
  239. </argument>
  240. </arguments>
  241. </virtualType>
  242. <type name="Magento\Catalog\Controller\Adminhtml\Category\Image\Upload">
  243. <arguments>
  244. <argument name="imageUploader" xsi:type="object">Magento\Catalog\CategoryImageUpload</argument>
  245. </arguments>
  246. </type>
  247. <type name="Magento\Catalog\Model\Category\Attribute\Backend\Image">
  248. <arguments>
  249. <argument name="imageUploader" xsi:type="object">Magento\Catalog\CategoryImageUpload</argument>
  250. </arguments>
  251. </type>
  252. <type name="Magento\Catalog\Model\Session">
  253. <arguments>
  254. <argument name="storage" xsi:type="object">Magento\Catalog\Model\Session\Storage</argument>
  255. </arguments>
  256. </type>
  257. <type name="Magento\Store\Model\ResourceModel\Website">
  258. <plugin name="invalidatePriceIndexerOnWebsite" type="Magento\Catalog\Model\Indexer\Product\Price\Plugin\Website"/>
  259. <plugin name="categoryProductWebsiteAfterDelete" type="\Magento\Catalog\Model\Indexer\Category\Product\Plugin\Website"/>
  260. </type>
  261. <type name="Magento\Store\Model\ResourceModel\Store">
  262. <plugin name="storeViewResourceAroundSave" type="Magento\Catalog\Model\Indexer\Category\Flat\Plugin\StoreView"/>
  263. <plugin name="catalogProductFlatIndexerStore" type="Magento\Catalog\Model\Indexer\Product\Flat\Plugin\Store" />
  264. <plugin name="categoryStoreAroundSave" type="Magento\Catalog\Model\Indexer\Category\Product\Plugin\StoreView"/>
  265. <plugin name="productAttributesStoreViewSave" type="Magento\Catalog\Model\Indexer\Product\Eav\Plugin\StoreView"/>
  266. </type>
  267. <type name="Magento\Store\Model\ResourceModel\Group">
  268. <plugin name="storeGroupResourceAroundSave" type="Magento\Catalog\Model\Indexer\Category\Flat\Plugin\StoreGroup"/>
  269. <plugin name="catalogProductFlatIndexerStoreGroup" type="Magento\Catalog\Model\Indexer\Product\Flat\Plugin\StoreGroup" />
  270. <plugin name="categoryStoreGroupAroundSave" type="Magento\Catalog\Model\Indexer\Category\Product\Plugin\StoreGroup"/>
  271. </type>
  272. <type name="Magento\Customer\Api\GroupRepositoryInterface">
  273. <plugin name="invalidatePriceIndexerOnCustomerGroup" type="Magento\Catalog\Model\Indexer\Product\Price\Plugin\CustomerGroup"/>
  274. </type>
  275. <type name="Magento\Indexer\Model\Config\Data">
  276. <plugin name="indexerCategoryFlatConfigGet" type="Magento\Catalog\Model\Indexer\Category\Flat\Plugin\IndexerConfigData" />
  277. <plugin name="indexerProductFlatConfigGet" type="Magento\Catalog\Model\Indexer\Product\Flat\Plugin\IndexerConfigData" />
  278. </type>
  279. <type name="Magento\Catalog\Model\Indexer\Product\Price\AbstractAction">
  280. <arguments>
  281. <argument name="defaultPriceIndexer" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\Price\DefaultPrice</argument>
  282. </arguments>
  283. </type>
  284. <type name="Magento\Eav\Model\Entity\Attribute\Set">
  285. <plugin name="invalidateEavIndexerOnAttributeSetSave" type="Magento\Catalog\Model\Indexer\Product\Eav\Plugin\AttributeSet" />
  286. </type>
  287. <type name="Magento\Catalog\Helper\Product\Flat\Indexer">
  288. <arguments>
  289. <argument name="flatAttributeGroups" xsi:type="array">
  290. <item name="catalog_product" xsi:type="string">catalog_product</item>
  291. </argument>
  292. </arguments>
  293. </type>
  294. <type name="Magento\Catalog\Model\Product\LinkTypeProvider">
  295. <arguments>
  296. <argument name="linkTypes" xsi:type="array">
  297. <item name="related" xsi:type="const">Magento\Catalog\Model\Product\Link::LINK_TYPE_RELATED</item>
  298. <item name="crosssell" xsi:type="const">Magento\Catalog\Model\Product\Link::LINK_TYPE_CROSSSELL</item>
  299. <item name="upsell" xsi:type="const">Magento\Catalog\Model\Product\Link::LINK_TYPE_UPSELL</item>
  300. </argument>
  301. </arguments>
  302. </type>
  303. <type name="Magento\Catalog\Model\Product\TypeTransitionManager">
  304. <arguments>
  305. <argument name="compatibleTypes" xsi:type="array">
  306. <item name="simple" xsi:type="const">Magento\Catalog\Model\Product\Type::TYPE_SIMPLE</item>
  307. <item name="virtual" xsi:type="const">Magento\Catalog\Model\Product\Type::TYPE_VIRTUAL</item>
  308. </argument>
  309. </arguments>
  310. </type>
  311. <type name="Magento\Eav\Model\Entity\Setup\PropertyMapper\Composite">
  312. <arguments>
  313. <argument name="propertyMappers" xsi:type="array">
  314. <item name="catalog" xsi:type="string">Magento\Catalog\Model\ResourceModel\Setup\PropertyMapper</item>
  315. </argument>
  316. </arguments>
  317. </type>
  318. <virtualType name="rowsFlatTableBuilder" type="Magento\Catalog\Model\Indexer\Product\Flat\FlatTableBuilder">
  319. <arguments>
  320. <argument name="tableData" xsi:type="object">Magento\Catalog\Model\Indexer\Product\Flat\Action\Rows\TableData</argument>
  321. </arguments>
  322. </virtualType>
  323. <type name="Magento\Catalog\Model\Indexer\Product\Flat\Action\Rows">
  324. <arguments>
  325. <argument name="flatTableBuilder" xsi:type="object">rowsFlatTableBuilder</argument>
  326. </arguments>
  327. </type>
  328. <type name="Magento\Catalog\Model\Indexer\Product\Flat\FlatTableBuilder">
  329. <arguments>
  330. <argument name="tableData" xsi:type="object">Magento\Catalog\Model\Indexer\Product\Flat\TableData</argument>
  331. </arguments>
  332. </type>
  333. <virtualType name="categoryFilterList" type="Magento\Catalog\Model\Layer\FilterList">
  334. <arguments>
  335. <argument name="filterableAttributes" xsi:type="object">Magento\Catalog\Model\Layer\Category\FilterableAttributeList</argument>
  336. </arguments>
  337. </virtualType>
  338. <virtualType name="searchFilterList" type="Magento\Catalog\Model\Layer\FilterList">
  339. <arguments>
  340. <argument name="filterableAttributes" xsi:type="object">Magento\Catalog\Model\Layer\Search\FilterableAttributeList</argument>
  341. </arguments>
  342. </virtualType>
  343. <type name="Magento\Catalog\Model\Layer\Category\FilterableAttributeList">
  344. <arguments>
  345. <argument name="layer" xsi:type="object">Magento\Catalog\Model\Layer\Category</argument>
  346. </arguments>
  347. </type>
  348. <type name="Magento\Catalog\Model\Layer\Search\FilterableAttributeList">
  349. <arguments>
  350. <argument name="layer" xsi:type="object">Magento\Catalog\Model\Layer\Search</argument>
  351. </arguments>
  352. </type>
  353. <type name="Magento\Catalog\Model\Indexer\Product\Price\Processor">
  354. <arguments>
  355. <argument name="indexer" xsi:type="object" shared="false">Magento\Framework\Indexer\IndexerInterface</argument>
  356. </arguments>
  357. </type>
  358. <type name="Magento\Framework\Model\ActionValidator\RemoveAction">
  359. <arguments>
  360. <argument name="protectedModels" xsi:type="array">
  361. <item name="catalogCategory" xsi:type="string">Magento\Catalog\Model\Category</item>
  362. <item name="catalogProduct" xsi:type="string">Magento\Catalog\Model\Product</item>
  363. </argument>
  364. </arguments>
  365. </type>
  366. <type name="Magento\Framework\Pricing\Adjustment\Collection">
  367. </type>
  368. <type name="Magento\Catalog\Model\Product\ReservedAttributeList">
  369. <arguments>
  370. <argument name="productModel" xsi:type="string">\Magento\Catalog\Model\Product</argument>
  371. <argument name="reservedAttributes" xsi:type="array">
  372. <item name="position" xsi:type="string">position</item>
  373. </argument>
  374. <argument name="allowedAttributes" xsi:type="array">
  375. <item name="type_id" xsi:type="string">type_id</item>
  376. <item name="calculated_final_price" xsi:type="string">calculated_final_price</item>
  377. <item name="request_path" xsi:type="string">request_path</item>
  378. </argument>
  379. </arguments>
  380. </type>
  381. <virtualType name="Magento\Catalog\Pricing\Price\Pool" type="Magento\Framework\Pricing\Price\Pool">
  382. <arguments>
  383. <argument name="prices" xsi:type="array">
  384. <item name="regular_price" xsi:type="string">Magento\Catalog\Pricing\Price\RegularPrice</item>
  385. <item name="final_price" xsi:type="string">Magento\Catalog\Pricing\Price\FinalPrice</item>
  386. <item name="tier_price" xsi:type="string">Magento\Catalog\Pricing\Price\TierPrice</item>
  387. <item name="special_price" xsi:type="string">Magento\Catalog\Pricing\Price\SpecialPrice</item>
  388. <item name="base_price" xsi:type="string">Magento\Catalog\Pricing\Price\BasePrice</item>
  389. <item name="custom_option_price" xsi:type="string">Magento\Catalog\Pricing\Price\CustomOptionPrice</item>
  390. <item name="configured_price" xsi:type="string">Magento\Catalog\Pricing\Price\ConfiguredPrice</item>
  391. <item name="configured_regular_price" xsi:type="string">Magento\Catalog\Pricing\Price\ConfiguredRegularPrice</item>
  392. </argument>
  393. </arguments>
  394. </virtualType>
  395. <type name="Magento\Catalog\Pricing\Price\Collection">
  396. <arguments>
  397. <argument name="pool" xsi:type="object">Magento\Catalog\Pricing\Price\Pool</argument>
  398. </arguments>
  399. </type>
  400. <type name="Magento\Framework\Pricing\PriceInfo\Factory">
  401. <arguments>
  402. <argument name="types" xsi:type="array">
  403. <item name="default" xsi:type="array">
  404. <item name="infoClass" xsi:type="string">Magento\Framework\Pricing\PriceInfo\Base</item>
  405. <item name="prices" xsi:type="string">Magento\Catalog\Pricing\Price\Collection</item>
  406. </item>
  407. </argument>
  408. </arguments>
  409. </type>
  410. <type name="Magento\Catalog\Model\ProductLink\CollectionProvider">
  411. <arguments>
  412. <argument name="providers" xsi:type="array">
  413. <item name="crosssell" xsi:type="object">Magento\Catalog\Model\ProductLink\CollectionProvider\Crosssell</item>
  414. <item name="upsell" xsi:type="object">Magento\Catalog\Model\ProductLink\CollectionProvider\Upsell</item>
  415. <item name="related" xsi:type="object">Magento\Catalog\Model\ProductLink\CollectionProvider\Related</item>
  416. </argument>
  417. <argument name="mapProviders" xsi:type="array">
  418. <item name="linked" xsi:type="object">Magento\Catalog\Model\ProductLink\CollectionProvider\LinkedMapProvider</item>
  419. </argument>
  420. </arguments>
  421. </type>
  422. <type name="Magento\Catalog\Model\ProductLink\Converter\ConverterPool">
  423. <arguments>
  424. <argument name="converters" xsi:type="array">
  425. <item name="default" xsi:type="object">Magento\Catalog\Model\ProductLink\Converter\DefaultConverter</item>
  426. </argument>
  427. </arguments>
  428. </type>
  429. <type name="Magento\Catalog\Model\Product\Option">
  430. <arguments>
  431. <argument name="optionGroups" xsi:type="array">
  432. <item name="date" xsi:type="string">Magento\Catalog\Model\Product\Option\Type\Date</item>
  433. <item name="file" xsi:type="string">Magento\Catalog\Model\Product\Option\Type\File</item>
  434. <item name="select" xsi:type="string">Magento\Catalog\Model\Product\Option\Type\Select</item>
  435. <item name="text" xsi:type="string">Magento\Catalog\Model\Product\Option\Type\Text</item>
  436. </argument>
  437. <argument name="optionTypesToGroups" xsi:type="array">
  438. <item name="field" xsi:type="const">Magento\Catalog\Api\Data\ProductCustomOptionInterface::OPTION_GROUP_TEXT</item>
  439. <item name="area" xsi:type="const">Magento\Catalog\Api\Data\ProductCustomOptionInterface::OPTION_GROUP_TEXT</item>
  440. <item name="file" xsi:type="const">Magento\Catalog\Api\Data\ProductCustomOptionInterface::OPTION_GROUP_FILE</item>
  441. <item name="drop_down" xsi:type="const">Magento\Catalog\Api\Data\ProductCustomOptionInterface::OPTION_GROUP_SELECT</item>
  442. <item name="radio" xsi:type="const">Magento\Catalog\Api\Data\ProductCustomOptionInterface::OPTION_GROUP_SELECT</item>
  443. <item name="checkbox" xsi:type="const">Magento\Catalog\Api\Data\ProductCustomOptionInterface::OPTION_GROUP_SELECT</item>
  444. <item name="multiple" xsi:type="const">Magento\Catalog\Api\Data\ProductCustomOptionInterface::OPTION_GROUP_SELECT</item>
  445. <item name="date" xsi:type="const">Magento\Catalog\Api\Data\ProductCustomOptionInterface::OPTION_GROUP_DATE</item>
  446. <item name="date_time" xsi:type="const">Magento\Catalog\Api\Data\ProductCustomOptionInterface::OPTION_GROUP_DATE</item>
  447. <item name="time" xsi:type="const">Magento\Catalog\Api\Data\ProductCustomOptionInterface::OPTION_GROUP_DATE</item>
  448. </argument>
  449. </arguments>
  450. </type>
  451. <type name="Magento\Catalog\Model\Product\Option\Validator\Pool">
  452. <arguments>
  453. <argument name="validators" xsi:type="array">
  454. <item name="default" xsi:type="object">Magento\Catalog\Model\Product\Option\Validator\DefaultValidator</item>
  455. <item name="drop_down" xsi:type="object">Magento\Catalog\Model\Product\Option\Validator\Select</item>
  456. <item name="radio" xsi:type="object">Magento\Catalog\Model\Product\Option\Validator\Select</item>
  457. <item name="checkbox" xsi:type="object">Magento\Catalog\Model\Product\Option\Validator\Select</item>
  458. <item name="multiple" xsi:type="object">Magento\Catalog\Model\Product\Option\Validator\Select</item>
  459. <item name="text" xsi:type="object">Magento\Catalog\Model\Product\Option\Validator\Text</item>
  460. <item name="area" xsi:type="object">Magento\Catalog\Model\Product\Option\Validator\Text</item>
  461. <item name="file" xsi:type="object">Magento\Catalog\Model\Product\Option\Validator\File</item>
  462. </argument>
  463. </arguments>
  464. </type>
  465. <type name="Magento\Catalog\Model\ProductTypes\Config">
  466. <arguments>
  467. <argument name="reader" xsi:type="object">Magento\Catalog\Model\ProductTypes\Config\Reader\Proxy</argument>
  468. </arguments>
  469. </type>
  470. <type name="Magento\Catalog\Model\Attribute\Config\Data">
  471. <arguments>
  472. <argument name="reader" xsi:type="object">Magento\Catalog\Model\Attribute\Config\Reader\Proxy</argument>
  473. </arguments>
  474. </type>
  475. <type name="Magento\Catalog\Model\ProductOptions\Config">
  476. <arguments>
  477. <argument name="reader" xsi:type="object">Magento\Catalog\Model\ProductOptions\Config\Reader\Proxy</argument>
  478. </arguments>
  479. </type>
  480. <type name="Magento\CatalogInventory\Model\Config\Backend\ShowOutOfStock">
  481. <plugin name="showOutOfStockValueChanged" type="Magento\Catalog\Model\Plugin\ShowOutOfStockConfig"/>
  482. </type>
  483. <virtualType name="Magento\Catalog\Block\Category\Widget\Link" type="Magento\Catalog\Block\Widget\Link">
  484. <arguments>
  485. <argument name="entityResource" xsi:type="object">Magento\Catalog\Model\ResourceModel\Category</argument>
  486. </arguments>
  487. </virtualType>
  488. <virtualType name="Magento\Catalog\Block\Product\Widget\Link" type="Magento\Catalog\Block\Widget\Link">
  489. <arguments>
  490. <argument name="entityResource" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product</argument>
  491. </arguments>
  492. </virtualType>
  493. <type name="Magento\Framework\App\Rss\RssManagerInterface">
  494. <arguments>
  495. <argument name="dataProviders" xsi:type="array">
  496. <item name="new_products" xsi:type="string">Magento\Catalog\Block\Rss\Product\NewProducts</item>
  497. <item name="special_products" xsi:type="string">Magento\Catalog\Block\Rss\Product\Special</item>
  498. <item name="category" xsi:type="string">Magento\Catalog\Block\Rss\Category</item>
  499. </argument>
  500. </arguments>
  501. </type>
  502. <type name="Magento\Catalog\Model\Product\Option\Type\File">
  503. <arguments>
  504. <argument name="validatorInfo" xsi:type="object">Magento\Catalog\Model\Product\Option\Type\File\ValidatorInfo\Proxy</argument>
  505. <argument name="validatorFile" xsi:type="object">Magento\Catalog\Model\Product\Option\Type\File\ValidatorFile\Proxy</argument>
  506. </arguments>
  507. </type>
  508. <type name="Magento\Catalog\Model\Attribute\Config">
  509. <arguments>
  510. <argument name="dataStorage" xsi:type="object">Magento\Catalog\Model\Attribute\Config\Data\Proxy</argument>
  511. </arguments>
  512. </type>
  513. <virtualType name="Magento\Catalog\Model\Layer\Search\Context" type="Magento\Catalog\Model\Layer\Context">
  514. <arguments>
  515. <argument name="collectionProvider" xsi:type="object">Magento\Catalog\Model\Layer\Search\ItemCollectionProvider</argument>
  516. <argument name="stateKey" xsi:type="object">Magento\Catalog\Model\Layer\Category\StateKey</argument>
  517. <argument name="collectionFilter" xsi:type="object">Magento\Catalog\Model\Layer\Search\CollectionFilter</argument>
  518. </arguments>
  519. </virtualType>
  520. <virtualType name="Magento\Catalog\Model\Layer\Category\Context" type="Magento\Catalog\Model\Layer\Context">
  521. <arguments>
  522. <argument name="collectionProvider" xsi:type="object">Magento\Catalog\Model\Layer\Category\ItemCollectionProvider</argument>
  523. <argument name="stateKey" xsi:type="object">Magento\Catalog\Model\Layer\Category\StateKey</argument>
  524. <argument name="collectionFilter" xsi:type="object">Magento\Catalog\Model\Layer\Category\CollectionFilter</argument>
  525. </arguments>
  526. </virtualType>
  527. <type name="Magento\Catalog\Model\Layer\Search">
  528. <arguments>
  529. <argument name="context" xsi:type="object">Magento\Catalog\Model\Layer\Search\Context</argument>
  530. </arguments>
  531. </type>
  532. <type name="Magento\Catalog\Model\Layer\Category">
  533. <arguments>
  534. <argument name="context" xsi:type="object">Magento\Catalog\Model\Layer\Category\Context</argument>
  535. </arguments>
  536. </type>
  537. <type name="Magento\Catalog\Model\Layer\Filter\Dynamic\AlgorithmFactory">
  538. <arguments>
  539. <argument name="algorithms" xsi:type="array">
  540. <item name="auto" xsi:type="string">Magento\Catalog\Model\Layer\Filter\Dynamic\Auto</item>
  541. <item name="improved" xsi:type="string">Magento\Catalog\Model\Layer\Filter\Dynamic\Improved</item>
  542. <item name="manual" xsi:type="string">Magento\Catalog\Model\Layer\Filter\Dynamic\Manual</item>
  543. </argument>
  544. </arguments>
  545. </type>
  546. <type name="Magento\Catalog\Model\Layer\Resolver">
  547. <arguments>
  548. <argument name="layersPool" xsi:type="array">
  549. <item name="category" xsi:type="string">Magento\Catalog\Model\Layer\Category</item>
  550. <item name="search" xsi:type="string">Magento\Catalog\Model\Layer\Search</item>
  551. </argument>
  552. </arguments>
  553. </type>
  554. <type name="Magento\Catalog\Model\ResourceModel\Config">
  555. <plugin name="productListingAttributesCaching" type="Magento\Catalog\Plugin\Model\ResourceModel\Config" />
  556. </type>
  557. <preference for="Magento\Catalog\Api\ProductLinkTypeListInterface" type="Magento\Catalog\Model\Product\LinkTypeProvider" />
  558. <preference for="Magento\Catalog\Api\Data\ProductLinkAttributeInterface" type="Magento\Catalog\Model\ProductLink\Attribute" />
  559. <preference for="Magento\Catalog\Api\Data\ProductLinkTypeInterface" type="Magento\Catalog\Model\ProductLink\Type" />
  560. <preference for="Magento\Catalog\Api\ProductLinkManagementInterface" type="Magento\Catalog\Model\ProductLink\Management" />
  561. <preference for="Magento\Catalog\Api\Data\ProductLinkInterface" type="Magento\Catalog\Model\ProductLink\Link" />
  562. <preference for="Magento\Catalog\Api\CategoryLinkManagementInterface" type="Magento\Catalog\Model\CategoryLinkManagement" />
  563. <preference for="Magento\Catalog\Api\Data\ProductWebsiteLinkInterface" type="Magento\Catalog\Model\ProductWebsiteLink" />
  564. <preference for="Magento\Catalog\Api\ProductWebsiteLinkRepositoryInterface" type="Magento\Catalog\Model\ProductWebsiteLinkRepository" />
  565. <preference for="Magento\Catalog\Api\CategoryLinkRepositoryInterface" type="Magento\Catalog\Model\CategoryLinkRepository" />
  566. <preference for="Magento\Catalog\Api\Data\ProductCustomOptionInterface" type="Magento\Catalog\Model\Product\Option" />
  567. <preference for="Magento\Catalog\Api\ProductCustomOptionRepositoryInterface" type="Magento\Catalog\Model\Product\Option\Repository" />
  568. <preference for="Magento\Catalog\Api\Data\ProductCustomOptionTypeInterface" type="Magento\Catalog\Model\Product\Option\Type" />
  569. <preference for="Magento\Catalog\Api\ProductTierPriceManagementInterface" type="Magento\Catalog\Model\Product\TierPriceManagement" />
  570. <preference for="Magento\Catalog\Api\ScopedProductTierPriceManagementInterface" type="Magento\Catalog\Model\Product\ScopedTierPriceManagement" />
  571. <preference for="Magento\Catalog\Api\Data\ProductTierPriceInterface" type="Magento\Catalog\Model\Product\TierPrice" />
  572. <preference for="Magento\Catalog\Api\Data\CategoryProductLinkInterface" type="Magento\Catalog\Model\CategoryProductLink" />
  573. <preference for="Magento\Catalog\Api\ProductCustomOptionTypeListInterface" type="Magento\Catalog\Model\ProductOptions\TypeList" />
  574. <preference for="Magento\Catalog\Api\Data\ProductCustomOptionValuesInterface" type="Magento\Catalog\Model\Product\Option\Value" />
  575. <preference for="Magento\Catalog\Api\Data\CustomOptionInterface" type="Magento\Catalog\Model\CustomOptions\CustomOption" />
  576. <preference for="Magento\Catalog\Api\Data\ProductOptionInterface" type="Magento\Catalog\Model\ProductOption" />
  577. <preference for="Magento\Catalog\Api\Data\CategoryLinkInterface" type="Magento\Catalog\Model\CategoryLink" />
  578. <virtualType name="Magento\Catalog\Model\ResourceModel\Attribute\Collection" type="Magento\Eav\Model\ResourceModel\Entity\Attribute\Collection">
  579. </virtualType>
  580. <type name="Magento\Eav\Model\Entity\Attribute\Backend\AbstractBackend">
  581. <plugin name="attributeValidation" type="Magento\Catalog\Plugin\Model\Attribute\Backend\AttributeValidation"/>
  582. </type>
  583. <type name="Magento\Catalog\Plugin\Model\Attribute\Backend\AttributeValidation">
  584. <arguments>
  585. <argument name="allowedEntityTypes" xsi:type="array">
  586. <item name="product" xsi:type="string">Magento\Catalog\Api\Data\ProductInterface</item>
  587. <item name="category" xsi:type="string">Magento\Catalog\Api\Data\CategoryInterface</item>
  588. </argument>
  589. </arguments>
  590. </type>
  591. <type name="Magento\Catalog\Model\CategoryRepository">
  592. <arguments>
  593. <argument name="categoryResource" xsi:type="object">Magento\Catalog\Model\ResourceModel\Category\Proxy</argument>
  594. </arguments>
  595. </type>
  596. <type name="Magento\Catalog\Helper\Product\ConfigurationPool">
  597. <arguments>
  598. <argument name="instancesByType" xsi:type="array">
  599. <item name="default" xsi:type="object">Magento\Catalog\Helper\Product\Configuration</item>
  600. </argument>
  601. </arguments>
  602. </type>
  603. <type name="Magento\Framework\Console\CommandListInterface">
  604. <arguments>
  605. <argument name="commands" xsi:type="array">
  606. <item name="productAttributesCleanUp" xsi:type="object">Magento\Catalog\Console\Command\ProductAttributesCleanUp</item>
  607. </argument>
  608. </arguments>
  609. </type>
  610. <type name="Magento\Framework\Config\View">
  611. <arguments>
  612. <argument name="xpath" xsi:type="array">
  613. <item name="image" xsi:type="array">
  614. <item name="/view/media/images" xsi:type="array">
  615. <item name="id" xsi:type="string">module</item>
  616. </item>
  617. <item name="/view/media/images/image" xsi:type="array">
  618. <item name="id1" xsi:type="string">id</item>
  619. <item name="id2" xsi:type="string">type</item>
  620. </item>
  621. </item>
  622. </argument>
  623. </arguments>
  624. </type>
  625. <type name="Magento\Framework\View\Xsd\Media\TypeDataExtractorPool">
  626. <arguments>
  627. <argument name="extractors" xsi:type="array">
  628. <item name="images" xsi:type="object">Magento\Catalog\Model\ImageExtractor</item>
  629. </argument>
  630. </arguments>
  631. </type>
  632. <type name="Magento\Quote\Model\Quote\Item\Repository">
  633. <arguments>
  634. <argument name="cartItemProcessors" xsi:type="array">
  635. <item name="custom_options" xsi:type="object">Magento\Catalog\Model\CustomOptions\CustomOptionProcessor\Proxy</item>
  636. </argument>
  637. </arguments>
  638. </type>
  639. <type name="Magento\Sales\Api\OrderItemRepositoryInterface">
  640. <arguments>
  641. <argument name="processorPool" xsi:type="array">
  642. <item name="custom_options" xsi:type="object">Magento\Catalog\Model\ProductOptionProcessor</item>
  643. </argument>
  644. </arguments>
  645. </type>
  646. <type name="Magento\Sales\Model\Order\ProductOption">
  647. <arguments>
  648. <argument name="processorPool" xsi:type="array">
  649. <item name="custom_options" xsi:type="object">Magento\Catalog\Model\ProductOptionProcessor</item>
  650. </argument>
  651. </arguments>
  652. </type>
  653. <type name="Magento\Framework\Model\Entity\RepositoryFactory">
  654. <arguments>
  655. <argument name="entities" xsi:type="array">
  656. <item name="Magento\Catalog\Api\Data\ProductInterface" xsi:type="string">Magento\Catalog\Api\ProductRepositoryInterface</item>
  657. <item name="Magento\Catalog\Api\Data\CategoryInterface" xsi:type="string">Magento\Catalog\Api\CategoryRepositoryInterface</item>
  658. </argument>
  659. </arguments>
  660. </type>
  661. <type name="Magento\Framework\EntityManager\MetadataPool">
  662. <arguments>
  663. <argument name="metadata" xsi:type="array">
  664. <item name="Magento\Catalog\Api\Data\ProductInterface" xsi:type="array">
  665. <item name="entityTableName" xsi:type="string">catalog_product_entity</item>
  666. <item name="eavEntityType" xsi:type="string">catalog_product</item>
  667. <item name="identifierField" xsi:type="string">entity_id</item>
  668. <item name="entityContext" xsi:type="array">
  669. <item name="store" xsi:type="string">Magento\Store\Model\StoreScopeProvider</item>
  670. </item>
  671. </item>
  672. <item name="Magento\Catalog\Api\Data\CategoryInterface" xsi:type="array">
  673. <item name="entityTableName" xsi:type="string">catalog_category_entity</item>
  674. <item name="eavEntityType" xsi:type="string">catalog_category</item>
  675. <item name="identifierField" xsi:type="string">entity_id</item>
  676. <item name="entityContext" xsi:type="array">
  677. <item name="store" xsi:type="string">Magento\Store\Model\StoreScopeProvider</item>
  678. </item>
  679. </item>
  680. <item name="Magento\Catalog\Api\Data\CategoryLinkInterface" xsi:type="array">
  681. <item name="entityTableName" xsi:type="string">catalog_category_product</item>
  682. <item name="identifierField" xsi:type="string">entity_id</item>
  683. </item>
  684. <item name="Magento\Catalog\Api\Data\ProductFrontendActionInterface" xsi:type="array">
  685. <item name="entityTableName" xsi:type="string">catalog_product_frontend_action</item>
  686. <item name="identifierField" xsi:type="string">action_id</item>
  687. </item>
  688. </argument>
  689. </arguments>
  690. </type>
  691. <type name="Magento\Framework\EntityManager\Operation\ExtensionPool">
  692. <arguments>
  693. <argument name="extensionActions" xsi:type="array">
  694. <item name="Magento\Catalog\Api\Data\ProductInterface" xsi:type="array">
  695. <item name="read" xsi:type="array">
  696. <item name="optionReader" xsi:type="string">Magento\Catalog\Model\Product\Option\ReadHandler</item>
  697. <item name="mediaGalleryRead" xsi:type="string">Magento\Catalog\Model\Product\Gallery\ReadHandler</item>
  698. <item name="categoryProductLinksRead" xsi:type="string">Magento\Catalog\Model\Category\Link\ReadHandler</item>
  699. <item name="websiteReader" xsi:type="string">Magento\Catalog\Model\Product\Website\ReadHandler</item>
  700. </item>
  701. <item name="create" xsi:type="array">
  702. <item name="custom_options" xsi:type="string">Magento\Catalog\Model\Product\Option\SaveHandler</item>
  703. <item name="mediaGalleryCreate" xsi:type="string">Magento\Catalog\Model\Product\Gallery\CreateHandler</item>
  704. <item name="categoryProductLinksSave" xsi:type="string">Magento\Catalog\Model\Category\Link\SaveHandler</item>
  705. <item name="websitePersistor" xsi:type="string">Magento\Catalog\Model\Product\Website\SaveHandler</item>
  706. <item name="tierPriceCreator" xsi:type="string">Magento\Catalog\Model\Product\Attribute\Backend\TierPrice\SaveHandler</item>
  707. </item>
  708. <item name="update" xsi:type="array">
  709. <item name="optionUpdater" xsi:type="string">Magento\Catalog\Model\Product\Option\SaveHandler</item>
  710. <item name="mediaGalleryUpdate" xsi:type="string">Magento\Catalog\Model\Product\Gallery\UpdateHandler</item>
  711. <item name="categoryProductLinksSave" xsi:type="string">Magento\Catalog\Model\Category\Link\SaveHandler</item>
  712. <item name="websitePersistor" xsi:type="string">Magento\Catalog\Model\Product\Website\SaveHandler</item>
  713. <item name="tierPriceUpdater" xsi:type="string">Magento\Catalog\Model\Product\Attribute\Backend\TierPrice\UpdateHandler</item>
  714. </item>
  715. </item>
  716. </argument>
  717. </arguments>
  718. </type>
  719. <type name="Magento\Catalog\Model\Indexer\Category\Flat\SkipStaticColumnsProvider">
  720. <arguments>
  721. <argument name="skipStaticColumns" xsi:type="array">
  722. <item name="entity_type_id" xsi:type="string">entity_type_id</item>
  723. <item name="attribute_set_id" xsi:type="string">attribute_set_id</item>
  724. </argument>
  725. </arguments>
  726. </type>
  727. <type name="Magento\Framework\Webapi\ServiceTypeToEntityTypeMap">
  728. <arguments>
  729. <argument name="serviceTypeToEntityTypeMap" xsi:type="array">
  730. <item name="Magento\Catalog\Api\Data\ProductInterface" xsi:type="const">Magento\Catalog\Api\Data\ProductAttributeInterface::ENTITY_TYPE_CODE</item>
  731. <item name="Magento\Catalog\Api\Data\CategoryInterface" xsi:type="const">Magento\Catalog\Api\Data\CategoryAttributeInterface::ENTITY_TYPE_CODE</item>
  732. </argument>
  733. </arguments>
  734. </type>
  735. <type name="Magento\Eav\Model\TypeLocator\ComplexType">
  736. <arguments>
  737. <argument name="backendModelToAttributeTypeMap" xsi:type="array">
  738. <item name="Magento\Catalog\Model\Product\Attribute\Backend\Sku" xsi:type="string">string</item>
  739. <item name="Magento\Catalog\Model\Product\Attribute\Backend\Category" xsi:type="string">int[]</item>
  740. <item name="Magento\Catalog\Model\Product\Attribute\Backend\Stock" xsi:type="string">Magento\CatalogInventory\Api\Data\StockItemInterface[]</item>
  741. <item name="Magento\Catalog\Model\Category\Attribute\Backend\Sortby" xsi:type="string">string[]</item>
  742. </argument>
  743. </arguments>
  744. </type>
  745. <type name="Magento\Catalog\Model\ResourceModel\Product\Collection\ProductLimitation" shared="false"/>
  746. <type name="Magento\Theme\Model\Design\Config\MetadataProvider">
  747. <arguments>
  748. <argument name="metadata" xsi:type="array">
  749. <item name="watermark_image_size" xsi:type="array">
  750. <item name="path" xsi:type="string">design/watermark/image_size</item>
  751. <item name="fieldset" xsi:type="string">other_settings/watermark/image</item>
  752. </item>
  753. <item name="watermark_image_imageOpacity" xsi:type="array">
  754. <item name="path" xsi:type="string">design/watermark/image_imageOpacity</item>
  755. <item name="fieldset" xsi:type="string">other_settings/watermark/image</item>
  756. </item>
  757. <item name="watermark_image_image" xsi:type="array">
  758. <item name="path" xsi:type="string">design/watermark/image_image</item>
  759. <item name="fieldset" xsi:type="string">other_settings/watermark/image</item>
  760. <item name="backend_model" xsi:type="string">Magento\Theme\Model\Design\Backend\Image</item>
  761. <item name="upload_dir" xsi:type="array">
  762. <item name="config" xsi:type="string">system/filesystem/media</item>
  763. <item name="scope_info" xsi:type="string">1</item>
  764. <item name="value" xsi:type="string">catalog/product/watermark</item>
  765. </item>
  766. <item name="base_url" xsi:type="array">
  767. <item name="type" xsi:type="string">media</item>
  768. <item name="scope_info" xsi:type="string">1</item>
  769. <item name="value" xsi:type="string">catalog/product/watermark</item>
  770. </item>
  771. </item>
  772. <item name="watermark_image_position" xsi:type="array">
  773. <item name="path" xsi:type="string">design/watermark/image_position</item>
  774. <item name="fieldset" xsi:type="string">other_settings/watermark/image</item>
  775. </item>
  776. <item name="watermark_small_image_size" xsi:type="array">
  777. <item name="path" xsi:type="string">design/watermark/small_image_size</item>
  778. <item name="fieldset" xsi:type="string">other_settings/watermark/small_image</item>
  779. </item>
  780. <item name="watermark_small_image_imageOpacity" xsi:type="array">
  781. <item name="path" xsi:type="string">design/watermark/small_image_imageOpacity</item>
  782. <item name="fieldset" xsi:type="string">other_settings/watermark/small_image</item>
  783. </item>
  784. <item name="watermark_small_image_image" xsi:type="array">
  785. <item name="path" xsi:type="string">design/watermark/small_image_image</item>
  786. <item name="fieldset" xsi:type="string">other_settings/watermark/small_image</item>
  787. <item name="backend_model" xsi:type="string">Magento\Theme\Model\Design\Backend\Image</item>
  788. <item name="upload_dir" xsi:type="array">
  789. <item name="config" xsi:type="string">system/filesystem/media</item>
  790. <item name="scope_info" xsi:type="string">1</item>
  791. <item name="value" xsi:type="string">catalog/product/watermark</item>
  792. </item>
  793. <item name="base_url" xsi:type="array">
  794. <item name="type" xsi:type="string">media</item>
  795. <item name="scope_info" xsi:type="string">1</item>
  796. <item name="value" xsi:type="string">catalog/product/watermark</item>
  797. </item>
  798. </item>
  799. <item name="watermark_small_image_position" xsi:type="array">
  800. <item name="path" xsi:type="string">design/watermark/small_image_position</item>
  801. <item name="fieldset" xsi:type="string">other_settings/watermark/small_image</item>
  802. </item>
  803. <item name="watermark_thumbnail_size" xsi:type="array">
  804. <item name="path" xsi:type="string">design/watermark/thumbnail_size</item>
  805. <item name="fieldset" xsi:type="string">other_settings/watermark/thumbnail</item>
  806. </item>
  807. <item name="watermark_thumbnail_imageOpacity" xsi:type="array">
  808. <item name="path" xsi:type="string">design/watermark/thumbnail_imageOpacity</item>
  809. <item name="fieldset" xsi:type="string">other_settings/watermark/thumbnail</item>
  810. </item>
  811. <item name="watermark_thumbnail_image" xsi:type="array">
  812. <item name="path" xsi:type="string">design/watermark/thumbnail_image</item>
  813. <item name="fieldset" xsi:type="string">other_settings/watermark/thumbnail</item>
  814. <item name="backend_model" xsi:type="string">Magento\Theme\Model\Design\Backend\Image</item>
  815. <item name="upload_dir" xsi:type="array">
  816. <item name="config" xsi:type="string">system/filesystem/media</item>
  817. <item name="scope_info" xsi:type="string">1</item>
  818. <item name="value" xsi:type="string">catalog/product/watermark</item>
  819. </item>
  820. <item name="base_url" xsi:type="array">
  821. <item name="type" xsi:type="string">media</item>
  822. <item name="scope_info" xsi:type="string">1</item>
  823. <item name="value" xsi:type="string">catalog/product/watermark</item>
  824. </item>
  825. </item>
  826. <item name="watermark_thumbnail_position" xsi:type="array">
  827. <item name="path" xsi:type="string">design/watermark/thumbnail_position</item>
  828. <item name="fieldset" xsi:type="string">other_settings/watermark/thumbnail</item>
  829. </item>
  830. </argument>
  831. </arguments>
  832. </type>
  833. <virtualType name="Magento\Catalog\EntityCreator\MetadataPool" type="Magento\Framework\EntityManager\MetadataPool">
  834. <arguments>
  835. <argument name="metadata" xsi:type="array">
  836. <item name="Magento\Catalog\Api\Data\ProductInterface" xsi:type="array">
  837. <item name="entityContext" xsi:type="array">
  838. <item name="store" xsi:type="string">Magento\Store\Model\DefaultStoreScopeProvider</item>
  839. </item>
  840. </item>
  841. <item name="Magento\Catalog\Api\Data\CategoryInterface" xsi:type="array">
  842. <item name="entityContext" xsi:type="array">
  843. <item name="store" xsi:type="string">Magento\Store\Model\DefaultStoreScopeProvider</item>
  844. </item>
  845. </item>
  846. </argument>
  847. </arguments>
  848. </virtualType>
  849. <virtualType name="Magento\Catalog\Model\Entity\CreationScopeResolver" type="Magento\Framework\Model\Entity\ScopeResolver">
  850. <arguments>
  851. <argument name="metadataPool" xsi:type="object">Magento\Catalog\EntityCreator\MetadataPool</argument>
  852. </arguments>
  853. </virtualType>
  854. <virtualType name="Magento\Catalog\Model\ResourceModel\CreateHandler" type="Magento\Eav\Model\ResourceModel\CreateHandler">
  855. <arguments>
  856. <argument name="metadataPool" xsi:type="object">Magento\Catalog\EntityCreator\MetadataPool</argument>
  857. <argument name="scopeResolver" xsi:type="object">Magento\Catalog\Model\Entity\CreationScopeResolver</argument>
  858. </arguments>
  859. </virtualType>
  860. <virtualType name="Magento\Catalog\Model\ResourceModel\UpdateHandler" type="Magento\Eav\Model\ResourceModel\UpdateHandler">
  861. <arguments>
  862. <argument name="attributePersistor" xsi:type="object">Magento\Catalog\Model\ResourceModel\AttributePersistor</argument>
  863. </arguments>
  864. </virtualType>
  865. <type name="Magento\Eav\Model\ResourceModel\ReadSnapshot">
  866. <plugin name="catalogReadSnapshot" type="Magento\Catalog\Plugin\Model\ResourceModel\ReadSnapshotPlugin" />
  867. </type>
  868. <type name="Magento\Framework\EntityManager\Operation\AttributePool">
  869. <arguments>
  870. <argument name="extensionActions" xsi:type="array">
  871. <item name="eav" xsi:type="array">
  872. <item name="Magento\Catalog\Api\Data\CategoryInterface" xsi:type="array">
  873. <item name="create" xsi:type="string">Magento\Catalog\Model\ResourceModel\CreateHandler</item>
  874. <item name="update" xsi:type="string">Magento\Catalog\Model\ResourceModel\UpdateHandler</item>
  875. </item>
  876. <item name="Magento\Catalog\Api\Data\ProductInterface" xsi:type="array">
  877. <item name="create" xsi:type="string">Magento\Catalog\Model\ResourceModel\CreateHandler</item>
  878. <item name="update" xsi:type="string">Magento\Catalog\Model\ResourceModel\UpdateHandler</item>
  879. </item>
  880. </item>
  881. <item name="websites" xsi:type="array">
  882. <item name="Magento\Catalog\Api\Data\ProductInterface" xsi:type="array">
  883. <item name="create" xsi:type="string">Magento\Catalog\Model\ResourceModel\ProductWebsiteAssignmentHandler</item>
  884. </item>
  885. </item>
  886. </argument>
  887. </arguments>
  888. </type>
  889. <type name="Magento\Framework\EntityManager\HydratorPool">
  890. <arguments>
  891. <argument name="hydrators" xsi:type="array">
  892. <item name="Magento\Catalog\Api\Data\CategoryInterface" xsi:type="string">Magento\Framework\EntityManager\AbstractModelHydrator</item>
  893. <item name="Magento\Catalog\Api\Data\ProductInterface" xsi:type="string">Magento\Catalog\Model\Product\Hydrator</item>
  894. </argument>
  895. </arguments>
  896. </type>
  897. <preference for="Magento\Catalog\Model\ResourceModel\Product\LinkedProductSelectBuilderInterface" type="Magento\Catalog\Model\ResourceModel\Product\LinkedProductSelectBuilderComposite" />
  898. <type name="Magento\Catalog\Model\ResourceModel\Product\LinkedProductSelectBuilderComposite">
  899. <arguments>
  900. <argument name="linkedProductSelectBuilder" xsi:type="array">
  901. <item name="basePrice" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\LinkedProductSelectBuilderByBasePrice</item>
  902. <item name="specialPrice" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\LinkedProductSelectBuilderBySpecialPrice</item>
  903. <item name="tierPrice" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\LinkedProductSelectBuilderByTierPrice</item>
  904. <item name="indexPrice" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\LinkedProductSelectBuilderByIndexPrice</item>
  905. </argument>
  906. </arguments>
  907. </type>
  908. <virtualType name="Magento\Catalog\Model\Api\SearchCriteria\CollectionProcessor\ProductFilterProcessor" type="Magento\Eav\Model\Api\SearchCriteria\CollectionProcessor\FilterProcessor">
  909. <arguments>
  910. <argument name="customFilters" xsi:type="array">
  911. <item name="category_id" xsi:type="object">Magento\Catalog\Model\Api\SearchCriteria\CollectionProcessor\FilterProcessor\ProductCategoryFilter</item>
  912. <item name="store" xsi:type="object">Magento\Catalog\Model\Api\SearchCriteria\CollectionProcessor\FilterProcessor\ProductStoreFilter</item>
  913. <item name="store_id" xsi:type="object">Magento\Catalog\Model\Api\SearchCriteria\CollectionProcessor\FilterProcessor\ProductStoreFilter</item>
  914. <item name="website_id" xsi:type="object">Magento\Catalog\Model\Api\SearchCriteria\CollectionProcessor\FilterProcessor\ProductWebsiteFilter</item>
  915. </argument>
  916. </arguments>
  917. </virtualType>
  918. <virtualType name="Magento\Catalog\Model\Api\SearchCriteria\ProductCollectionProcessor" type="Magento\Eav\Model\Api\SearchCriteria\CollectionProcessor">
  919. <arguments>
  920. <argument name="processors" xsi:type="array">
  921. <item name="filters" xsi:type="object">Magento\Catalog\Model\Api\SearchCriteria\CollectionProcessor\ProductFilterProcessor</item>
  922. <item name="sorting" xsi:type="object">Magento\Framework\Api\SearchCriteria\CollectionProcessor\SortingProcessor</item>
  923. <item name="pagination" xsi:type="object">Magento\Framework\Api\SearchCriteria\CollectionProcessor\PaginationProcessor</item>
  924. </argument>
  925. </arguments>
  926. </virtualType>
  927. <type name="Magento\Catalog\Model\ProductRepository">
  928. <arguments>
  929. <argument name="collectionProcessor" xsi:type="object">Magento\Catalog\Model\Api\SearchCriteria\ProductCollectionProcessor</argument>
  930. </arguments>
  931. </type>
  932. <type name="Magento\Catalog\Model\CategoryList">
  933. <arguments>
  934. <argument name="collectionProcessor" xsi:type="object">Magento\Eav\Model\Api\SearchCriteria\CollectionProcessor</argument>
  935. </arguments>
  936. </type>
  937. <type name="Magento\Catalog\Model\ProductRenderList">
  938. <arguments>
  939. <argument name="collectionProcessor" xsi:type="object">Magento\Catalog\Model\Api\SearchCriteria\ProductCollectionProcessor</argument>
  940. </arguments>
  941. </type>
  942. <type name="Magento\Quote\Model\Quote\Item\ToOrderItem">
  943. <plugin name="copy_quote_files_to_order" type="Magento\Catalog\Model\Plugin\QuoteItemProductOption"/>
  944. </type>
  945. <preference for="Magento\Catalog\Model\ResourceModel\Product\BaseSelectProcessorInterface" type="Magento\Catalog\Model\ResourceModel\Product\CompositeWithWebsiteProcessor" />
  946. <type name="Magento\Catalog\Model\ResourceModel\Product\CompositeBaseSelectProcessor">
  947. <arguments>
  948. <argument name="baseSelectProcessors" xsi:type="array">
  949. <item name="status" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\StatusBaseSelectProcessor</item>
  950. </argument>
  951. </arguments>
  952. </type>
  953. <virtualType name="Magento\Catalog\Model\ResourceModel\Product\CompositeWithWebsiteProcessor" type="Magento\Catalog\Model\ResourceModel\Product\CompositeBaseSelectProcessor">
  954. <arguments>
  955. <argument name="baseSelectProcessors" xsi:type="array">
  956. <item name="website" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Website\SelectProcessor</item>
  957. </argument>
  958. </arguments>
  959. </virtualType>
  960. <type name="Magento\Catalog\Model\ResourceModel\Product\Indexer\LinkedProductSelectBuilderByIndexPrice">
  961. <arguments>
  962. <argument name="baseSelectProcessor" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\CompositeBaseSelectProcessor</argument>
  963. <argument name="priceTableResolver" xsi:type="object">Magento\Catalog\Model\Indexer\Product\Price\PriceTableResolver</argument>
  964. </arguments>
  965. </type>
  966. <type name="Magento\Catalog\Model\Product\Price\CostStorage">
  967. <arguments>
  968. <argument name="allowedProductTypes" xsi:type="array">
  969. <item name="0" xsi:type="string">simple</item>
  970. <item name="1" xsi:type="string">virtual</item>
  971. </argument>
  972. </arguments>
  973. </type>
  974. <type name="Magento\Catalog\Model\Product\Price\BasePriceStorage">
  975. <arguments>
  976. <argument name="allowedProductTypes" xsi:type="array">
  977. <item name="0" xsi:type="string">simple</item>
  978. <item name="1" xsi:type="string">virtual</item>
  979. <item name="2" xsi:type="string">bundle</item>
  980. </argument>
  981. </arguments>
  982. </type>
  983. <type name="Magento\Catalog\Model\Product\Price\Validation\TierPriceValidator">
  984. <arguments>
  985. <argument name="allowedProductTypes" xsi:type="array">
  986. <item name="0" xsi:type="string">simple</item>
  987. <item name="1" xsi:type="string">virtual</item>
  988. <item name="2" xsi:type="string">bundle</item>
  989. </argument>
  990. </arguments>
  991. </type>
  992. <type name="Magento\Catalog\Model\Product\Price\SpecialPriceStorage">
  993. <arguments>
  994. <argument name="allowedProductTypes" xsi:type="array">
  995. <item name="0" xsi:type="string">simple</item>
  996. <item name="1" xsi:type="string">virtual</item>
  997. </argument>
  998. </arguments>
  999. </type>
  1000. <type name="Magento\Catalog\Ui\DataProvider\Product\ProductRenderCollectorComposite">
  1001. <arguments>
  1002. <argument name="productProviders" xsi:type="array">
  1003. <item name="image" xsi:type="object">\Magento\Catalog\Ui\DataProvider\Product\Listing\Collector\Image</item>
  1004. <item name="price" xsi:type="object">\Magento\Catalog\Ui\DataProvider\Product\Listing\Collector\Price</item>
  1005. <item name="url" xsi:type="object">\Magento\Catalog\Ui\DataProvider\Product\Listing\Collector\Url</item>
  1006. <item name="additional_info" xsi:type="object">\Magento\Catalog\Ui\DataProvider\Product\Listing\Collector\AdditionalInfo</item>
  1007. </argument>
  1008. </arguments>
  1009. </type>
  1010. <type name="Magento\Catalog\Model\FrontendStorageConfigurationPool">
  1011. <arguments>
  1012. <argument name="storageConfigurations" xsi:type="array">
  1013. <item name="recently_viewed_product" xsi:type="object">Magento\Catalog\Model\Widget\RecentlyViewedStorageConfiguration</item>
  1014. <item name="recently_compared_product" xsi:type="object">Magento\Catalog\Model\Widget\RecentlyComparedStorageConfiguration</item>
  1015. </argument>
  1016. </arguments>
  1017. </type>
  1018. <type name="Magento\Catalog\Ui\DataProvider\Product\Listing\Collector\Image">
  1019. <arguments>
  1020. <argument name="imageCodes" xsi:type="array">
  1021. <item name="widget_recently_viewed_grid" xsi:type="string">recently_viewed_products_grid_content_widget</item>
  1022. <item name="widget_recently_viewed_list" xsi:type="string">recently_viewed_products_list_content_widget</item>
  1023. <item name="widget_recently_viewed_sidebar" xsi:type="string">recently_viewed_products_images_names_widget</item>
  1024. <item name="widget_recently_compared_grid" xsi:type="string">recently_compared_products_grid_content_widget</item>
  1025. <item name="widget_recently_compared_list" xsi:type="string">recently_compared_products_list_content_widget</item>
  1026. <item name="widget_recently_compared_sidebar" xsi:type="string">recently_compared_products_images_names_widget</item>
  1027. </argument>
  1028. </arguments>
  1029. </type>
  1030. <preference for="Magento\Catalog\Pricing\Price\MinimalPriceCalculatorInterface" type="Magento\Catalog\Pricing\Price\MinimalTierPriceCalculator" />
  1031. <type name="Magento\Catalog\Model\ResourceModel\Product\Indexer\Price\BatchSizeCalculator">
  1032. <arguments>
  1033. <argument name="batchRowsCount" xsi:type="array">
  1034. <item name="default" xsi:type="number">5000</item>
  1035. </argument>
  1036. <argument name="estimators" xsi:type="array">
  1037. <item name="default" xsi:type="object">Magento\Catalog\Model\Indexer\Price\BatchSizeManagement</item>
  1038. </argument>
  1039. </arguments>
  1040. </type>
  1041. <virtualType name="Magento\Catalog\Model\Indexer\Price\CompositeProductBatchSizeManagement" type="Magento\Framework\Indexer\BatchSizeManagement">
  1042. <arguments>
  1043. <argument name="rowSizeEstimator" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\Price\CompositeProductRowSizeEstimator</argument>
  1044. </arguments>
  1045. </virtualType>
  1046. <virtualType name="Magento\Catalog\Model\Indexer\Price\BatchSizeManagement" type="Magento\Framework\Indexer\BatchSizeManagement">
  1047. <arguments>
  1048. <argument name="rowSizeEstimator" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\Price\IndexTableRowSizeEstimator</argument>
  1049. </arguments>
  1050. </virtualType>
  1051. <type name="Magento\Catalog\Model\Indexer\Category\Product\Action\Full">
  1052. <arguments>
  1053. <argument name="batchRowsCount" xsi:type="number">100000</argument>
  1054. <argument name="batchSizeManagement" xsi:type="object">Magento\Catalog\Model\Indexer\CategoryProductBatchSize</argument>
  1055. </arguments>
  1056. </type>
  1057. <virtualType name="Magento\Catalog\Model\Indexer\CategoryProductBatchSize" type="Magento\Framework\Indexer\BatchSizeManagement">
  1058. <arguments>
  1059. <argument name="rowSizeEstimator" xsi:type="object">Magento\Catalog\Model\Indexer\Category\Product\RowSizeEstimator</argument>
  1060. </arguments>
  1061. </virtualType>
  1062. <type name="Magento\Catalog\Model\ResourceModel\Product\Indexer\TemporaryTableStrategy" shared="false">
  1063. <arguments>
  1064. <argument name="strategy" xsi:type="object">Magento\Framework\Indexer\Table\Strategy</argument>
  1065. </arguments>
  1066. </type>
  1067. <type name="Magento\Catalog\Model\ResourceModel\Product\Indexer\Price\DefaultPrice">
  1068. <arguments>
  1069. <argument name="tableStrategy" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\TemporaryTableStrategy</argument>
  1070. <argument name="connectionName" xsi:type="string">indexer</argument>
  1071. </arguments>
  1072. </type>
  1073. <type name="Magento\Catalog\Model\Indexer\Product\Eav\Action\Full">
  1074. <arguments>
  1075. <argument name="batchSizeCalculator" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\Eav\BatchSizeCalculator</argument>
  1076. </arguments>
  1077. </type>
  1078. <type name="Magento\Catalog\Model\ResourceModel\Product\Indexer\Eav\Source">
  1079. <arguments>
  1080. <argument name="tableStrategy" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\TemporaryTableStrategy</argument>
  1081. <argument name="connectionName" xsi:type="string">indexer</argument>
  1082. </arguments>
  1083. </type>
  1084. <virtualType name="Magento\Catalog\Model\ResourceModel\Product\Indexer\Eav\DecimalBatchSizeManagement" type="Magento\Framework\Indexer\BatchSizeManagement">
  1085. <arguments>
  1086. <argument name="rowSizeEstimator" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\Eav\DecimalRowSizeEstimator</argument>
  1087. </arguments>
  1088. </virtualType>
  1089. <virtualType name="Magento\Catalog\Model\ResourceModel\Product\Indexer\Eav\SourceBatchSizeManagement" type="Magento\Framework\Indexer\BatchSizeManagement">
  1090. <arguments>
  1091. <argument name="rowSizeEstimator" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\Eav\SourceRowSizeEstimator</argument>
  1092. </arguments>
  1093. </virtualType>
  1094. <type name="Magento\Catalog\Model\ResourceModel\Product\Indexer\Eav\BatchSizeCalculator">
  1095. <arguments>
  1096. <argument name="batchSizes" xsi:type="array">
  1097. <item name="decimal" xsi:type="number">1000</item>
  1098. <item name="source" xsi:type="number">1000</item>
  1099. </argument>
  1100. <argument name="batchSizeManagers" xsi:type="array">
  1101. <item name="decimal" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\Eav\DecimalBatchSizeManagement</item>
  1102. <item name="source" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\Eav\SourceBatchSizeManagement</item>
  1103. </argument>
  1104. </arguments>
  1105. </type>
  1106. <type name="Magento\Framework\Data\CollectionModifier">
  1107. <arguments>
  1108. <argument name="conditions" xsi:type="array">
  1109. <item name="productVisibilityCondition" xsi:type="object">Magento\Catalog\Model\ProductVisibilityCondition</item>
  1110. </argument>
  1111. </arguments>
  1112. </type>
  1113. <type name="Magento\Catalog\Controller\Adminhtml\Product\Initialization\Helper">
  1114. <arguments>
  1115. <argument name="productRepository" xsi:type="object">Magento\Catalog\Api\ProductRepositoryInterface\Proxy</argument>
  1116. </arguments>
  1117. </type>
  1118. <type name="Magento\Catalog\Model\ResourceModel\Product\Indexer\Price\TierPrice">
  1119. <arguments>
  1120. <argument name="connectionName" xsi:type="string">indexer</argument>
  1121. </arguments>
  1122. </type>
  1123. <type name="Magento\Catalog\Model\Api\SearchCriteria\CollectionProcessor\ConditionProcessor\ConditionBuilder\Factory">
  1124. <arguments>
  1125. <argument name="eavAttributeConditionBuilder" xsi:type="object">Magento\Catalog\Model\Api\SearchCriteria\CollectionProcessor\ConditionProcessor\ConditionBuilder\EavAttributeCondition</argument>
  1126. <argument name="nativeAttributeConditionBuilder" xsi:type="object">Magento\Catalog\Model\Api\SearchCriteria\CollectionProcessor\ConditionProcessor\ConditionBuilder\NativeAttributeCondition</argument>
  1127. </arguments>
  1128. </type>
  1129. <type name="Magento\Catalog\Model\Indexer\Product\Price\DimensionCollectionFactory">
  1130. <arguments>
  1131. <argument name="dimensionProviders" xsi:type="array">
  1132. <!-- @see \Magento\Store\Model\Indexer\WebsiteDimensionProvider::DIMENSION_NAME -->
  1133. <item name="ws" xsi:type="object">Magento\Store\Model\Indexer\WebsiteDimensionProvider</item>
  1134. <!-- @see \Magento\Customer\Model\Indexer\CustomerGroupDimensionProvider::DIMENSION_NAME -->
  1135. <item name="cg" xsi:type="object">Magento\Customer\Model\Indexer\CustomerGroupDimensionProvider</item>
  1136. </argument>
  1137. </arguments>
  1138. </type>
  1139. <type name="Magento\Catalog\Model\Indexer\Product\Price\Plugin\TableResolver">
  1140. <arguments>
  1141. <argument name="priceTableResolver" xsi:type="object">Magento\Catalog\Model\Indexer\Product\Price\PriceTableResolver\Proxy</argument>
  1142. <argument name="storeManager" xsi:type="object">Magento\Store\Model\StoreManagerInterface\Proxy</argument>
  1143. <argument name="context" xsi:type="object">Magento\Framework\App\Http\Context\Proxy</argument>
  1144. <!-- Unccomment after fix issue with Proxy generation -->
  1145. <!--<argument name="dimensionModeConfiguration" xsi:type="object">-->
  1146. <!--Magento\Catalog\Model\Indexer\Product\Price\DimensionModeConfiguration\Proxy-->
  1147. <!--</argument>-->
  1148. </arguments>
  1149. </type>
  1150. <type name="Magento\Catalog\Model\ResourceModel\Layer\Filter\Price">
  1151. <arguments>
  1152. <argument name="priceTableResolver" xsi:type="object">
  1153. Magento\Catalog\Model\Indexer\Product\Price\PriceTableResolver
  1154. </argument>
  1155. </arguments>
  1156. </type>
  1157. <type name="Magento\Catalog\Model\ResourceModel\Product\Indexer\Price\CustomOptionPriceModifier">
  1158. <arguments>
  1159. <argument name="tableStrategy" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\TemporaryTableStrategy</argument>
  1160. </arguments>
  1161. </type>
  1162. <type name="Magento\Catalog\Model\Indexer\Product\Price\TableMaintainer">
  1163. <arguments>
  1164. <argument name="connectionName" xsi:type="string">indexer</argument>
  1165. <argument name="tableResolver" xsi:type="object">Magento\Framework\Indexer\ScopeResolver\IndexScopeResolver</argument>
  1166. </arguments>
  1167. </type>
  1168. <type name="Magento\Catalog\Model\ResourceModel\Product\Indexer\Price\BasePriceModifier">
  1169. <arguments>
  1170. <argument name="priceModifiers" xsi:type="array">
  1171. <item name="customOptionPriceModifier" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\Price\CustomOptionPriceModifier</item>
  1172. </argument>
  1173. </arguments>
  1174. </type>
  1175. <virtualType name="Magento\Catalog\Model\ResourceModel\Product\Indexer\Price\VirtualProductPrice" type="Magento\Catalog\Model\ResourceModel\Product\Indexer\Price\SimpleProductPrice">
  1176. <arguments>
  1177. <argument name="productType" xsi:type="string">virtual</argument>
  1178. </arguments>
  1179. </virtualType>
  1180. <type name="Magento\Indexer\Console\Command\IndexerSetDimensionsModeCommand">
  1181. <arguments>
  1182. <argument name="dimensionSwitchers" xsi:type="array">
  1183. <item name="catalog_product_price" xsi:type="object">Magento\Catalog\Model\Indexer\Product\Price\ModeSwitcher</item>
  1184. </argument>
  1185. </arguments>
  1186. </type>
  1187. <type name="Magento\Indexer\Console\Command\IndexerShowDimensionsModeCommand">
  1188. <arguments>
  1189. <argument name="indexers" xsi:type="array">
  1190. <item name="catalog_product_price" xsi:type="string">catalog_product_price</item>
  1191. </argument>
  1192. </arguments>
  1193. </type>
  1194. <type name="Magento\Catalog\Model\Product\Option\Type\Select">
  1195. <arguments>
  1196. <argument name="singleSelectionTypes" xsi:type="array">
  1197. <item name="drop_down" xsi:type="const">Magento\Catalog\Api\Data\ProductCustomOptionInterface::OPTION_TYPE_DROP_DOWN</item>
  1198. <item name="radio" xsi:type="const">Magento\Catalog\Api\Data\ProductCustomOptionInterface::OPTION_TYPE_RADIO</item>
  1199. </argument>
  1200. </arguments>
  1201. </type>
  1202. <type name="Magento\Catalog\Model\ProductLink\Repository">
  1203. <arguments>
  1204. <argument name="entityCollectionProvider" xsi:type="object">Magento\Catalog\Model\ProductLink\CollectionProvider\Proxy</argument>
  1205. <argument name="linkInitializer" xsi:type="object">Magento\Catalog\Model\Product\Initialization\Helper\ProductLinks\Proxy</argument>
  1206. </arguments>
  1207. </type>
  1208. <type name="Magento\Catalog\Model\ProductLink\ProductLinkQuery">
  1209. <arguments>
  1210. <argument name="collectionProvider" xsi:type="object">Magento\Catalog\Model\ProductLink\CollectionProvider\Proxy</argument>
  1211. </arguments>
  1212. </type>
  1213. <type name="Magento\Catalog\Model\Product\Attribute\LayoutUpdateManager">
  1214. <arguments>
  1215. <argument name="themeFactory" xsi:type="object">Magento\Framework\View\Design\Theme\FlyweightFactory\Proxy</argument>
  1216. </arguments>
  1217. </type>
  1218. <type name="Magento\Catalog\Model\Category\Attribute\LayoutUpdateManager">
  1219. <arguments>
  1220. <argument name="themeFactory" xsi:type="object">Magento\Framework\View\Design\Theme\FlyweightFactory\Proxy</argument>
  1221. </arguments>
  1222. </type>
  1223. <type name="Magento\Catalog\Model\Category\Attribute\Backend\LayoutUpdate">
  1224. <arguments>
  1225. <argument name="manager" xsi:type="object">Magento\Catalog\Model\Category\Attribute\LayoutUpdateManager\Proxy</argument>
  1226. </arguments>
  1227. </type>
  1228. <type name="Magento\Catalog\Model\Category\Attribute\Source\LayoutUpdate">
  1229. <arguments>
  1230. <argument name="manager" xsi:type="object">Magento\Catalog\Model\Category\Attribute\LayoutUpdateManager\Proxy</argument>
  1231. </arguments>
  1232. </type>
  1233. <type name="Magento\Catalog\Model\Product\Attribute\Backend\LayoutUpdate">
  1234. <arguments>
  1235. <argument name="manager" xsi:type="object">Magento\Catalog\Model\Product\Attribute\LayoutUpdateManager\Proxy</argument>
  1236. </arguments>
  1237. </type>
  1238. <type name="Magento\Catalog\Model\Product\Attribute\Source\LayoutUpdate">
  1239. <arguments>
  1240. <argument name="manager" xsi:type="object">Magento\Catalog\Model\Product\Attribute\LayoutUpdateManager\Proxy</argument>
  1241. </arguments>
  1242. </type>
  1243. <type name="Magento\Eav\Model\Config">
  1244. <arguments>
  1245. <argument name="attributesForPreload" xsi:type="array">
  1246. <item name="catalog_product" xsi:type="array">
  1247. <item name="category_ids" xsi:type="string">catalog_product</item>
  1248. <item name="country_of_manufacture" xsi:type="string">catalog_product</item>
  1249. <item name="created_at" xsi:type="string">catalog_product</item>
  1250. <item name="custom_design" xsi:type="string">catalog_product</item>
  1251. <item name="custom_design_from" xsi:type="string">catalog_product</item>
  1252. <item name="custom_design_to" xsi:type="string">catalog_product</item>
  1253. <item name="custom_layout" xsi:type="string">catalog_product</item>
  1254. <item name="custom_layout_update" xsi:type="string">catalog_product</item>
  1255. <item name="description" xsi:type="string">catalog_product</item>
  1256. <item name="gallery" xsi:type="string">catalog_product</item>
  1257. <item name="has_options" xsi:type="string">catalog_product</item>
  1258. <item name="image" xsi:type="string">catalog_product</item>
  1259. <item name="image_label" xsi:type="string">catalog_product</item>
  1260. <item name="media_gallery" xsi:type="string">catalog_product</item>
  1261. <item name="meta_description" xsi:type="string">catalog_product</item>
  1262. <item name="meta_keyword" xsi:type="string">catalog_product</item>
  1263. <item name="meta_title" xsi:type="string">catalog_product</item>
  1264. <item name="minimal_price" xsi:type="string">catalog_product</item>
  1265. <item name="name" xsi:type="string">catalog_product</item>
  1266. <item name="news_from_date" xsi:type="string">catalog_product</item>
  1267. <item name="news_to_date" xsi:type="string">catalog_product</item>
  1268. <item name="old_id" xsi:type="string">catalog_product</item>
  1269. <item name="options_container" xsi:type="string">catalog_product</item>
  1270. <item name="page_layout" xsi:type="string">catalog_product</item>
  1271. <item name="price" xsi:type="string">catalog_product</item>
  1272. <item name="quantity_and_stock_status" xsi:type="string">catalog_product</item>
  1273. <item name="required_options" xsi:type="string">catalog_product</item>
  1274. <item name="short_description" xsi:type="string">catalog_product</item>
  1275. <item name="sku" xsi:type="string">catalog_product</item>
  1276. <item name="small_image" xsi:type="string">catalog_product</item>
  1277. <item name="small_image_label" xsi:type="string">catalog_product</item>
  1278. <item name="special_from_date" xsi:type="string">catalog_product</item>
  1279. <item name="special_price" xsi:type="string">catalog_product</item>
  1280. <item name="special_to_date" xsi:type="string">catalog_product</item>
  1281. <item name="status" xsi:type="string">catalog_product</item>
  1282. <item name="thumbnail" xsi:type="string">catalog_product</item>
  1283. <item name="thumbnail_label" xsi:type="string">catalog_product</item>
  1284. <item name="tier_price" xsi:type="string">catalog_product</item>
  1285. <item name="updated_at" xsi:type="string">catalog_product</item>
  1286. <item name="visibility" xsi:type="string">catalog_product</item>
  1287. <item name="weight" xsi:type="string">catalog_product</item>
  1288. </item>
  1289. <item name="catalog_category" xsi:type="array">
  1290. <item name="all_children" xsi:type="string">catalog_category</item>
  1291. <item name="available_sort_by" xsi:type="string">catalog_category</item>
  1292. <item name="children" xsi:type="string">catalog_category</item>
  1293. <item name="children_count" xsi:type="string">catalog_category</item>
  1294. <item name="custom_apply_to_products" xsi:type="string">catalog_category</item>
  1295. <item name="custom_design" xsi:type="string">catalog_category</item>
  1296. <item name="custom_design_from" xsi:type="string">catalog_category</item>
  1297. <item name="custom_design_to" xsi:type="string">catalog_category</item>
  1298. <item name="custom_layout_update" xsi:type="string">catalog_category</item>
  1299. <item name="custom_use_parent_settings" xsi:type="string">catalog_category</item>
  1300. <item name="default_sort_by" xsi:type="string">catalog_category</item>
  1301. <item name="description" xsi:type="string">catalog_category</item>
  1302. <item name="display_mode" xsi:type="string">catalog_category</item>
  1303. <item name="filter_price_range" xsi:type="string">catalog_category</item>
  1304. <item name="image" xsi:type="string">catalog_category</item>
  1305. <item name="include_in_menu" xsi:type="string">catalog_category</item>
  1306. <item name="is_active" xsi:type="string">catalog_category</item>
  1307. <item name="is_anchor" xsi:type="string">catalog_category</item>
  1308. <item name="landing_page" xsi:type="string">catalog_category</item>
  1309. <item name="level" xsi:type="string">catalog_category</item>
  1310. <item name="meta_description" xsi:type="string">catalog_category</item>
  1311. <item name="meta_keywords" xsi:type="string">catalog_category</item>
  1312. <item name="meta_title" xsi:type="string">catalog_category</item>
  1313. <item name="name" xsi:type="string">catalog_category</item>
  1314. <item name="page_layout" xsi:type="string">catalog_category</item>
  1315. <item name="path" xsi:type="string">catalog_category</item>
  1316. <item name="path_in_store" xsi:type="string">catalog_category</item>
  1317. <item name="position" xsi:type="string">catalog_category</item>
  1318. </item>
  1319. </argument>
  1320. </arguments>
  1321. </type>
  1322. <type name="Magento\Catalog\Model\Product\Configuration\Item\ItemResolverComposite">
  1323. <arguments>
  1324. <argument name="itemResolvers" xsi:type="array"/>
  1325. </arguments>
  1326. </type>
  1327. <type name="Magento\Catalog\Api\ProductRepositoryInterface">
  1328. <plugin name="remove_images_from_gallery_after_removing_product"
  1329. type="Magento\Catalog\Plugin\RemoveImagesFromGalleryAfterRemovingProduct"/>
  1330. </type>
  1331. <type name="Magento\Catalog\Observer\ImageResizeAfterProductSave">
  1332. <arguments>
  1333. <argument name="imageResizeScheduler" xsi:type="object">Magento\MediaStorage\Service\ImageResizeScheduler\Proxy</argument>
  1334. </arguments>
  1335. </type>
  1336. <type name="Magento\Eav\Model\ReservedAttributeChecker">
  1337. <arguments>
  1338. <argument name="validators" xsi:type="array">
  1339. <item name="catalog_product" xsi:type="array">
  1340. <item name="product_reserved_attribute_codes" xsi:type="object">\Magento\Catalog\Model\Product\ReservedAttributeCheckerAdapter</item>
  1341. </item>
  1342. </argument>
  1343. </arguments>
  1344. </type>
  1345. </config>