File: /var/www/vhost/disk-apps/magento.bikenow.co/vendor/magento/module-catalog/etc/adminhtml/di.xml
<?xml version="1.0"?>
<!--
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<preference for="Magento\Catalog\Controller\Adminhtml\Product\Initialization\Helper\HandlerInterface" type="Magento\Catalog\Controller\Adminhtml\Product\Initialization\Helper\Plugin\Handler\Composite" />
<preference for="Magento\Catalog\Model\Locator\LocatorInterface" type="Magento\Catalog\Model\Locator\RegistryLocator"/>
<!--<preference for="Magento\Catalog\Ui\DataProvider\Product\Form\Container\MetaInterface" type="Magento\Catalog\Ui\DataProvider\Product\Form\Container\Meta"/>-->
<!--<preference for="Magento\Catalog\Ui\DataProvider\Product\Form\Container\DataInterface" type="Magento\Catalog\Ui\DataProvider\Product\Form\Container\Data"/>-->
<!--<preference for="Magento\Catalog\Ui\DataProvider\Product\Form\Container\LocatorInterface" type="Magento\Catalog\Ui\DataProvider\Product\Form\Container\RegistryLocator"/>-->
<type name="Magento\Catalog\Controller\Adminhtml\Product\Attribute">
<arguments>
<argument name="attributeLabelCache" xsi:type="object">Magento\Framework\App\Cache\Type\Translate</argument>
</arguments>
</type>
<type name="Magento\Catalog\Block\Adminhtml\Product\Frontend\Product\Watermark">
<arguments>
<argument name="imageTypes" xsi:type="array">
<item name="small" xsi:type="array">
<item name="title" xsi:type="string" translatable="true">Small</item>
<item name="attribute" xsi:type="string">small_image</item>
</item>
<item name="main" xsi:type="array">
<item name="title" xsi:type="string" translatable="true">Main</item>
<item name="attribute" xsi:type="string">image</item>
</item>
<item name="cart" xsi:type="array">
<item name="title" xsi:type="string" translatable="true">Thumbnail</item>
<item name="attribute" xsi:type="string">thumbnail</item>
</item>
<item name="custom" xsi:type="array">
<item name="title" xsi:type="string" translatable="true">Custom image</item>
<item name="attribute" xsi:type="string">custom_image</item>
</item>
</argument>
</arguments>
</type>
<type name="Magento\Catalog\Model\Product\CopyConstructor\Composite">
<arguments>
<argument name="constructors" xsi:type="array">
<item name="crossSell" xsi:type="string">Magento\Catalog\Model\Product\CopyConstructor\CrossSell</item>
<item name="upSell" xsi:type="string">Magento\Catalog\Model\Product\CopyConstructor\UpSell</item>
<item name="related" xsi:type="string">Magento\Catalog\Model\Product\CopyConstructor\Related</item>
</argument>
</arguments>
</type>
<type name="Magento\Catalog\Controller\Adminhtml\Product\Attribute\Validate">
<arguments>
<argument name="multipleAttributeList" xsi:type="array">
<item name="select" xsi:type="string">option</item>
<item name="multiselect" xsi:type="string">option</item>
</argument>
</arguments>
</type>
<type name="Magento\Catalog\Model\Product\Copier">
<arguments>
<argument name="copyConstructor" xsi:type="object">Magento\Catalog\Model\Product\CopyConstructor\Composite</argument>
</arguments>
</type>
<type name="Magento\Catalog\Model\Product\Option\UrlBuilder">
<arguments>
<argument name="frontendUrlBuilder" xsi:type="object">Magento\Framework\Url</argument>
</arguments>
</type>
<type name="Magento\Framework\App\Rss\RssManagerInterface">
<arguments>
<argument name="dataProviders" xsi:type="array">
<item name="notifystock" xsi:type="string">Magento\Catalog\Block\Adminhtml\Rss\NotifyStock</item>
</argument>
</arguments>
</type>
<type name="Magento\Catalog\Model\Indexer\Category\Product\Action\Full">
<plugin name="invalidate_pagecache_after_full_reindex" type="Magento\Catalog\Plugin\Model\Indexer\Category\Product\Execute" />
</type>
<type name="Magento\Catalog\Model\ResourceModel\Attribute">
<plugin name="invalidate_pagecache_after_attribute_save" type="Magento\Catalog\Plugin\Model\ResourceModel\Attribute\Save" />
</type>
<virtualType name="Magento\Catalog\Ui\DataProvider\Product\ProductCollectionFactory" type="Magento\Catalog\Model\ResourceModel\Product\CollectionFactory">
<arguments>
<argument name="instanceName" xsi:type="string">\Magento\Catalog\Ui\DataProvider\Product\ProductCollection</argument>
</arguments>
</virtualType>
<type name="Magento\Catalog\Ui\DataProvider\Product\ProductDataProvider">
<arguments>
<argument name="addFieldStrategies" xsi:type="array">
<item name="websites" xsi:type="object">Magento\Catalog\Ui\DataProvider\Product\AddWebsitesFieldToCollection</item>
</argument>
<argument name="addFilterStrategies" xsi:type="array">
<item name="store_id" xsi:type="object">Magento\Catalog\Ui\DataProvider\Product\AddStoreFieldToCollection</item>
</argument>
<argument name="collectionFactory" xsi:type="object">\Magento\Catalog\Ui\DataProvider\Product\ProductCollectionFactory</argument>
<argument name="modifiersPool" xsi:type="object">Magento\Catalog\Ui\DataProvider\Product\Listing\Modifier\Pool</argument>
</arguments>
</type>
<type name="Magento\Catalog\Model\Product\Action">
<plugin name="invalidate_pagecache_after_update_product_attributes" type="Magento\Catalog\Plugin\Model\Product\Action\UpdateAttributesFlushCache"/>
</type>
<preference for="Magento\Catalog\Ui\Component\Listing\Attribute\RepositoryInterface" type="Magento\Catalog\Ui\Component\Listing\Attribute\Repository"/>
<virtualType name="Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\Pool" type="Magento\Ui\DataProvider\Modifier\Pool">
<arguments>
<argument name="modifiers" xsi:type="array">
<item name="eav" xsi:type="array">
<item name="class" xsi:type="string">Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\Eav</item>
<item name="sortOrder" xsi:type="number">10</item>
</item>
<item name="attribute_set_id" xsi:type="array">
<item name="class" xsi:type="string">Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\AttributeSet</item>
<item name="sortOrder" xsi:type="number">20</item>
</item>
<item name="websites" xsi:type="array">
<item name="class" xsi:type="string">Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\Websites</item>
<item name="sortOrder" xsi:type="number">30</item>
</item>
<item name="system" xsi:type="array">
<item name="class" xsi:type="string">Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\System</item>
<item name="sortOrder" xsi:type="number">40</item>
</item>
<item name="general" xsi:type="array">
<item name="class" xsi:type="string">Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\General</item>
<item name="sortOrder" xsi:type="number">50</item>
</item>
<item name="categories" xsi:type="array">
<item name="class" xsi:type="string">Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\Categories</item>
<item name="sortOrder" xsi:type="number">60</item>
</item>
<item name="custom-options" xsi:type="array">
<item name="class" xsi:type="string">Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\CustomOptions</item>
<item name="sortOrder" xsi:type="number">70</item>
</item>
<item name="schedule-design-update" xsi:type="array">
<item name="class" xsi:type="string">Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\ScheduleDesignUpdate</item>
<item name="sortOrder" xsi:type="number">80</item>
</item>
<item name="advanced-pricing" xsi:type="array">
<item name="class" xsi:type="string">Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\AdvancedPricing</item>
<item name="sortOrder" xsi:type="number">90</item>
</item>
<item name="image-management" xsi:type="array">
<item name="class" xsi:type="string">Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\Images</item>
<item name="sortOrder" xsi:type="number">100</item>
</item>
<item name="related" xsi:type="array">
<item name="class" xsi:type="string">Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\Related</item>
<item name="sortOrder" xsi:type="number">110</item>
</item>
<item name="attributes" xsi:type="array">
<item name="class" xsi:type="string">Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\Attributes</item>
<item name="sortOrder" xsi:type="number">120</item>
</item>
<item name="alerts" xsi:type="array">
<item name="class" xsi:type="string">Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\Alerts</item>
<item name="sortOrder" xsi:type="number">130</item>
</item>
<item name="advanced-pricing-tier-price-type" xsi:type="array">
<item name="class" xsi:type="string">Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\TierPrice</item>
<item name="sortOrder" xsi:type="number">150</item>
</item>
<item name="custom_layout_update" xsi:type="array">
<item name="class" xsi:type="string">Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\LayoutUpdate</item>
<item name="sortOrder" xsi:type="number">160</item>
</item>
</argument>
</arguments>
</virtualType>
<type name="Magento\Catalog\Ui\DataProvider\Product\Form\ProductDataProvider">
<arguments>
<argument name="pool" xsi:type="object">Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\Pool</argument>
</arguments>
</type>
<virtualType name="Magento\Catalog\Ui\DataProvider\Product\Listing\Modifier\Pool" type="Magento\Ui\DataProvider\Modifier\Pool">
<arguments>
<argument name="modifiers" xsi:type="array">
<item name="attributes" xsi:type="array">
<item name="class" xsi:type="string">Magento\Catalog\Ui\DataProvider\Product\Modifier\Attributes</item>
<item name="sortOrder" xsi:type="number">10</item>
</item>
<item name="priceAttributes" xsi:type="array">
<item name="class" xsi:type="string">Magento\Catalog\Ui\DataProvider\Product\Modifier\PriceAttributes</item>
<item name="sortOrder" xsi:type="number">10</item>
</item>
</argument>
</arguments>
</virtualType>
<type name="Magento\Catalog\Ui\DataProvider\Product\Modifier\Attributes">
<arguments>
<argument name="escapeAttributes" xsi:type="array">
<item name="name" xsi:type="string">name</item>
<item name="sku" xsi:type="string">sku</item>
</argument>
</arguments>
</type>
<type name="Magento\Catalog\Ui\DataProvider\Product\Modifier\PriceAttributes">
<arguments>
<argument name="priceAttributeList" xsi:type="array">
<item name="cost" xsi:type="string">cost</item>
<item name="special_price" xsi:type="string">special_price</item>
</argument>
</arguments>
</type>
<type name="Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\CustomOptions">
<arguments>
<argument name="scopeName" xsi:type="string">product_form.product_form</argument>
</arguments>
</type>
<type name="Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\Related">
<arguments>
<argument name="scopeName" xsi:type="string">product_form.product_form</argument>
</arguments>
</type>
<type name="Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\AdvancedPricing">
<arguments>
<argument name="scopeName" xsi:type="string">product_form.product_form</argument>
</arguments>
</type>
<type name="Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\TierPrice">
<arguments>
<argument name="productPriceOptions" xsi:type="object">Magento\Catalog\Model\Config\Source\Product\Options\TierPrice</argument>
</arguments>
</type>
<type name="Magento\Catalog\Model\Product\Attribute\Backend\Price">
<arguments>
<argument name="scopeOverriddenValue" xsi:type="object">Magento\Catalog\Model\Attribute\ScopeOverriddenValue</argument>
</arguments>
</type>
<type name="Magento\Eav\Api\AttributeSetRepositoryInterface">
<plugin name="remove_products" type="Magento\Catalog\Plugin\Model\AttributeSetRepository\RemoveProducts"/>
</type>
<type name="Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\Eav\CompositeConfigProcessor">
<arguments>
<argument name="eavWysiwygDataProcessors" xsi:type="array">
<item name="default" xsi:type="object">Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\Eav\WysiwygConfigDataProcessor</item>
</argument>
</arguments>
</type>
<virtualType name="Magento\Catalog\Ui\Component\Form\Field\Category\PageLayout" type="Magento\Ui\Component\Form\Field\DefaultValue">
<arguments>
<argument name="path" xsi:type="string">web/default_layouts/default_category_layout</argument>
</arguments>
</virtualType>
<type name="Magento\Ui\Model\UrlInput\LinksConfigProvider">
<arguments>
<argument name="linksConfiguration" xsi:type="array">
<item name="product" xsi:type="string">Magento\Catalog\Ui\Component\UrlInput\Product</item>
<item name="category" xsi:type="string">Magento\Catalog\Ui\Component\UrlInput\Category</item>
</argument>
</arguments>
</type>
<type name="Magento\Catalog\Model\ProductLink\Search">
<arguments>
<argument name="filter" xsi:type="object">Magento\Catalog\Ui\DataProvider\Product\AddSearchKeyConditionToCollection</argument>
</arguments>
</type>
<type name="Magento\Catalog\Block\Adminhtml\Product\Edit\Action\Attribute\Tab\Attributes">
<arguments>
<argument name="excludeFields" xsi:type="array">
<item name="0" xsi:type="string">category_ids</item>
<item name="1" xsi:type="string">gallery</item>
<item name="2" xsi:type="string">image</item>
<item name="3" xsi:type="string">media_gallery</item>
<item name="4" xsi:type="string">quantity_and_stock_status</item>
<item name="5" xsi:type="string">tier_price</item>
</argument>
</arguments>
</type>
<type name="Magento\Eav\Model\Adminhtml\System\Config\Source\Inputtype">
<arguments>
<argument name="optionsArray" xsi:type="array">
<item name="450" xsi:type="array">
<item name="value" xsi:type="string">datetime</item>
<item name="label" xsi:type="string" translate="true">Date and Time</item>
</item>
</argument>
</arguments>
</type>
<type name="Magento\Ui\DataProvider\Mapper\FormElement">
<arguments>
<argument name="mappings" xsi:type="array">
<item name="datetime" xsi:type="string">date</item>
</argument>
</arguments>
</type>
</config>