di.xml 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235
  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\Controller\Adminhtml\Product\Initialization\Helper\HandlerInterface" type="Magento\Catalog\Controller\Adminhtml\Product\Initialization\Helper\Plugin\Handler\Composite" />
  10. <preference for="Magento\Catalog\Model\Locator\LocatorInterface" type="Magento\Catalog\Model\Locator\RegistryLocator"/>
  11. <!--<preference for="Magento\Catalog\Ui\DataProvider\Product\Form\Container\MetaInterface" type="Magento\Catalog\Ui\DataProvider\Product\Form\Container\Meta"/>-->
  12. <!--<preference for="Magento\Catalog\Ui\DataProvider\Product\Form\Container\DataInterface" type="Magento\Catalog\Ui\DataProvider\Product\Form\Container\Data"/>-->
  13. <!--<preference for="Magento\Catalog\Ui\DataProvider\Product\Form\Container\LocatorInterface" type="Magento\Catalog\Ui\DataProvider\Product\Form\Container\RegistryLocator"/>-->
  14. <type name="Magento\Catalog\Controller\Adminhtml\Product\Attribute">
  15. <arguments>
  16. <argument name="attributeLabelCache" xsi:type="object">Magento\Framework\App\Cache\Type\Translate</argument>
  17. </arguments>
  18. </type>
  19. <type name="Magento\Catalog\Block\Adminhtml\Product\Frontend\Product\Watermark">
  20. <arguments>
  21. <argument name="imageTypes" xsi:type="array">
  22. <item name="small" xsi:type="array">
  23. <item name="title" xsi:type="string" translatable="true">Small</item>
  24. <item name="attribute" xsi:type="string">small_image</item>
  25. </item>
  26. <item name="main" xsi:type="array">
  27. <item name="title" xsi:type="string" translatable="true">Main</item>
  28. <item name="attribute" xsi:type="string">image</item>
  29. </item>
  30. <item name="cart" xsi:type="array">
  31. <item name="title" xsi:type="string" translatable="true">Thumbnail</item>
  32. <item name="attribute" xsi:type="string">thumbnail</item>
  33. </item>
  34. <item name="custom" xsi:type="array">
  35. <item name="title" xsi:type="string" translatable="true">Custom image</item>
  36. <item name="attribute" xsi:type="string">custom_image</item>
  37. </item>
  38. </argument>
  39. </arguments>
  40. </type>
  41. <type name="Magento\Catalog\Model\Product\CopyConstructor\Composite">
  42. <arguments>
  43. <argument name="constructors" xsi:type="array">
  44. <item name="crossSell" xsi:type="string">Magento\Catalog\Model\Product\CopyConstructor\CrossSell</item>
  45. <item name="upSell" xsi:type="string">Magento\Catalog\Model\Product\CopyConstructor\UpSell</item>
  46. <item name="related" xsi:type="string">Magento\Catalog\Model\Product\CopyConstructor\Related</item>
  47. </argument>
  48. </arguments>
  49. </type>
  50. <type name="Magento\Catalog\Controller\Adminhtml\Product\Attribute\Validate">
  51. <arguments>
  52. <argument name="multipleAttributeList" xsi:type="array">
  53. <item name="select" xsi:type="string">option</item>
  54. <item name="multiselect" xsi:type="string">option</item>
  55. </argument>
  56. </arguments>
  57. </type>
  58. <type name="Magento\Catalog\Model\Product\Copier">
  59. <arguments>
  60. <argument name="copyConstructor" xsi:type="object">Magento\Catalog\Model\Product\CopyConstructor\Composite</argument>
  61. </arguments>
  62. </type>
  63. <type name="Magento\Catalog\Model\Product\Option\UrlBuilder">
  64. <arguments>
  65. <argument name="frontendUrlBuilder" xsi:type="object">Magento\Framework\Url</argument>
  66. </arguments>
  67. </type>
  68. <type name="Magento\Framework\App\Rss\RssManagerInterface">
  69. <arguments>
  70. <argument name="dataProviders" xsi:type="array">
  71. <item name="notifystock" xsi:type="string">Magento\Catalog\Block\Adminhtml\Rss\NotifyStock</item>
  72. </argument>
  73. </arguments>
  74. </type>
  75. <type name="Magento\Catalog\Model\Indexer\Category\Product\Action\Full">
  76. <plugin name="invalidate_pagecache_after_full_reindex" type="Magento\Catalog\Plugin\Model\Indexer\Category\Product\Execute" />
  77. </type>
  78. <type name="Magento\Catalog\Model\ResourceModel\Attribute">
  79. <plugin name="invalidate_pagecache_after_attribute_save" type="Magento\Catalog\Plugin\Model\ResourceModel\Attribute\Save" />
  80. </type>
  81. <virtualType name="Magento\Catalog\Ui\DataProvider\Product\ProductCollectionFactory" type="Magento\Catalog\Model\ResourceModel\Product\CollectionFactory">
  82. <arguments>
  83. <argument name="instanceName" xsi:type="string">\Magento\Catalog\Ui\DataProvider\Product\ProductCollection</argument>
  84. </arguments>
  85. </virtualType>
  86. <type name="Magento\Catalog\Ui\DataProvider\Product\ProductDataProvider">
  87. <arguments>
  88. <argument name="addFieldStrategies" xsi:type="array">
  89. <item name="websites" xsi:type="object">Magento\Catalog\Ui\DataProvider\Product\AddWebsitesFieldToCollection</item>
  90. </argument>
  91. <argument name="addFilterStrategies" xsi:type="array">
  92. <item name="store_id" xsi:type="object">Magento\Catalog\Ui\DataProvider\Product\AddStoreFieldToCollection</item>
  93. </argument>
  94. <argument name="collectionFactory" xsi:type="object">\Magento\Catalog\Ui\DataProvider\Product\ProductCollectionFactory</argument>
  95. <argument name="modifiersPool" xsi:type="object">Magento\Catalog\Ui\DataProvider\Product\Listing\Modifier\Pool</argument>
  96. </arguments>
  97. </type>
  98. <type name="Magento\Catalog\Model\Product\Action">
  99. <plugin name="invalidate_pagecache_after_update_product_attributes" type="Magento\Catalog\Plugin\Model\Product\Action\UpdateAttributesFlushCache"/>
  100. </type>
  101. <preference for="Magento\Catalog\Ui\Component\Listing\Attribute\RepositoryInterface" type="Magento\Catalog\Ui\Component\Listing\Attribute\Repository"/>
  102. <virtualType name="Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\Pool" type="Magento\Ui\DataProvider\Modifier\Pool">
  103. <arguments>
  104. <argument name="modifiers" xsi:type="array">
  105. <item name="eav" xsi:type="array">
  106. <item name="class" xsi:type="string">Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\Eav</item>
  107. <item name="sortOrder" xsi:type="number">10</item>
  108. </item>
  109. <item name="attribute_set_id" xsi:type="array">
  110. <item name="class" xsi:type="string">Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\AttributeSet</item>
  111. <item name="sortOrder" xsi:type="number">20</item>
  112. </item>
  113. <item name="websites" xsi:type="array">
  114. <item name="class" xsi:type="string">Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\Websites</item>
  115. <item name="sortOrder" xsi:type="number">30</item>
  116. </item>
  117. <item name="system" xsi:type="array">
  118. <item name="class" xsi:type="string">Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\System</item>
  119. <item name="sortOrder" xsi:type="number">40</item>
  120. </item>
  121. <item name="general" xsi:type="array">
  122. <item name="class" xsi:type="string">Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\General</item>
  123. <item name="sortOrder" xsi:type="number">50</item>
  124. </item>
  125. <item name="categories" xsi:type="array">
  126. <item name="class" xsi:type="string">Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\Categories</item>
  127. <item name="sortOrder" xsi:type="number">60</item>
  128. </item>
  129. <item name="custom-options" xsi:type="array">
  130. <item name="class" xsi:type="string">Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\CustomOptions</item>
  131. <item name="sortOrder" xsi:type="number">70</item>
  132. </item>
  133. <item name="schedule-design-update" xsi:type="array">
  134. <item name="class" xsi:type="string">Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\ScheduleDesignUpdate</item>
  135. <item name="sortOrder" xsi:type="number">80</item>
  136. </item>
  137. <item name="advanced-pricing" xsi:type="array">
  138. <item name="class" xsi:type="string">Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\AdvancedPricing</item>
  139. <item name="sortOrder" xsi:type="number">90</item>
  140. </item>
  141. <item name="image-management" xsi:type="array">
  142. <item name="class" xsi:type="string">Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\Images</item>
  143. <item name="sortOrder" xsi:type="number">100</item>
  144. </item>
  145. <item name="related" xsi:type="array">
  146. <item name="class" xsi:type="string">Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\Related</item>
  147. <item name="sortOrder" xsi:type="number">110</item>
  148. </item>
  149. <item name="attributes" xsi:type="array">
  150. <item name="class" xsi:type="string">Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\Attributes</item>
  151. <item name="sortOrder" xsi:type="number">120</item>
  152. </item>
  153. <item name="alerts" xsi:type="array">
  154. <item name="class" xsi:type="string">Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\Alerts</item>
  155. <item name="sortOrder" xsi:type="number">130</item>
  156. </item>
  157. <item name="advanced-pricing-tier-price-type" xsi:type="array">
  158. <item name="class" xsi:type="string">Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\TierPrice</item>
  159. <item name="sortOrder" xsi:type="number">150</item>
  160. </item>
  161. </argument>
  162. </arguments>
  163. </virtualType>
  164. <type name="Magento\Catalog\Ui\DataProvider\Product\Form\ProductDataProvider">
  165. <arguments>
  166. <argument name="pool" xsi:type="object">Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\Pool</argument>
  167. </arguments>
  168. </type>
  169. <virtualType name="Magento\Catalog\Ui\DataProvider\Product\Listing\Modifier\Pool" type="Magento\Ui\DataProvider\Modifier\Pool"/>
  170. <type name="Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\CustomOptions">
  171. <arguments>
  172. <argument name="scopeName" xsi:type="string">product_form.product_form</argument>
  173. </arguments>
  174. </type>
  175. <type name="Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\Related">
  176. <arguments>
  177. <argument name="scopeName" xsi:type="string">product_form.product_form</argument>
  178. </arguments>
  179. </type>
  180. <type name="Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\AdvancedPricing">
  181. <arguments>
  182. <argument name="scopeName" xsi:type="string">product_form.product_form</argument>
  183. </arguments>
  184. </type>
  185. <type name="Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\TierPrice">
  186. <arguments>
  187. <argument name="productPriceOptions" xsi:type="object">Magento\Catalog\Model\Config\Source\Product\Options\TierPrice</argument>
  188. </arguments>
  189. </type>
  190. <type name="Magento\Catalog\Model\Product\Attribute\Backend\Price">
  191. <arguments>
  192. <argument name="scopeOverriddenValue" xsi:type="object">Magento\Catalog\Model\Attribute\ScopeOverriddenValue</argument>
  193. </arguments>
  194. </type>
  195. <type name="Magento\Eav\Api\AttributeSetRepositoryInterface">
  196. <plugin name="remove_products" type="Magento\Catalog\Plugin\Model\AttributeSetRepository\RemoveProducts"/>
  197. </type>
  198. <type name="Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\Eav\CompositeConfigProcessor">
  199. <arguments>
  200. <argument name="eavWysiwygDataProcessors" xsi:type="array">
  201. <item name="default" xsi:type="object">Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\Eav\WysiwygConfigDataProcessor</item>
  202. </argument>
  203. </arguments>
  204. </type>
  205. <virtualType name="Magento\Catalog\Ui\Component\Form\Field\Category\PageLayout" type="Magento\Ui\Component\Form\Field\DefaultValue">
  206. <arguments>
  207. <argument name="path" xsi:type="string">web/default_layouts/default_category_layout</argument>
  208. </arguments>
  209. </virtualType>
  210. <type name="Magento\Ui\Model\UrlInput\LinksConfigProvider">
  211. <arguments>
  212. <argument name="linksConfiguration" xsi:type="array">
  213. <item name="product" xsi:type="string">Magento\Catalog\Ui\Component\UrlInput\Product</item>
  214. <item name="category" xsi:type="string">Magento\Catalog\Ui\Component\UrlInput\Category</item>
  215. </argument>
  216. </arguments>
  217. </type>
  218. <type name="Magento\Catalog\Model\ProductLink\Search">
  219. <arguments>
  220. <argument name="filter" xsi:type="object">Magento\Catalog\Ui\DataProvider\Product\AddSearchKeyConditionToCollection</argument>
  221. </arguments>
  222. </type>
  223. <type name="Magento\Catalog\Block\Adminhtml\Product\Edit\Action\Attribute\Tab\Attributes">
  224. <arguments>
  225. <argument name="excludeFields" xsi:type="array">
  226. <item name="0" xsi:type="string">category_ids</item>
  227. <item name="1" xsi:type="string">gallery</item>
  228. <item name="2" xsi:type="string">image</item>
  229. <item name="3" xsi:type="string">media_gallery</item>
  230. <item name="4" xsi:type="string">quantity_and_stock_status</item>
  231. <item name="5" xsi:type="string">tier_price</item>
  232. </argument>
  233. </arguments>
  234. </type>
  235. </config>