![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-configurable-product/etc/ |
<?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\ConfigurableProduct\Api\ConfigurableProductManagementInterface" type="Magento\ConfigurableProduct\Model\ConfigurableProductManagement" /> <preference for="Magento\ConfigurableProduct\Api\LinkManagementInterface" type="Magento\ConfigurableProduct\Model\LinkManagement" /> <preference for="Magento\ConfigurableProduct\Api\OptionRepositoryInterface" type="Magento\ConfigurableProduct\Model\OptionRepository" /> <preference for="Magento\ConfigurableProduct\Api\Data\OptionInterface" type="Magento\ConfigurableProduct\Model\Product\Type\Configurable\Attribute" /> <preference for="Magento\ConfigurableProduct\Api\Data\OptionValueInterface" type="Magento\ConfigurableProduct\Model\Product\Type\Configurable\OptionValue" /> <preference for="Magento\ConfigurableProduct\Api\Data\ConfigurableItemOptionValueInterface" type="Magento\ConfigurableProduct\Model\Quote\Item\ConfigurableItemOptionValue" /> <preference for="Magento\ConfigurableProduct\Pricing\Price\PriceResolverInterface" type="Magento\ConfigurableProduct\Pricing\Price\ConfigurablePriceResolver" /> <preference for="Magento\ConfigurableProduct\Pricing\Price\ConfigurableOptionsProviderInterface" type="Magento\ConfigurableProduct\Pricing\Price\ConfigurableOptionsProvider" /> <preference for="Magento\ConfigurableProduct\Pricing\Price\LowestPriceOptionsProviderInterface" type="Magento\ConfigurableProduct\Pricing\Price\LowestPriceOptionsProvider" /> <preference for="Magento\ConfigurableProduct\Model\AttributeOptionProviderInterface" type="Magento\ConfigurableProduct\Model\AttributeOptionProvider" /> <preference for="Magento\ConfigurableProduct\Model\ResourceModel\Attribute\OptionSelectBuilderInterface" type="Magento\ConfigurableProduct\Model\ResourceModel\Attribute\OptionSelectBuilder" /> <preference for="Magento\ConfigurableProduct\Model\ResourceModel\Product\Indexer\Price\OptionsIndexerInterface" type="Magento\ConfigurableProduct\Model\ResourceModel\Product\Indexer\Price\OptionsIndexer" /> <preference for="Magento\ConfigurableProduct\Model\ResourceModel\Product\Indexer\Price\OptionsSelectBuilderInterface" type="Magento\ConfigurableProduct\Model\ResourceModel\Product\Indexer\Price\OptionsSelectBuilder" /> <preference for="Magento\ConfigurableProduct\Pricing\Price\ConfigurableOptionsFilterInterface" type="Magento\ConfigurableProduct\Pricing\Price\ConfigurableOptionsCompositeFilter" /> <type name="Magento\CatalogInventory\Model\Quote\Item\QuantityValidator\Initializer\Option"> <plugin name="configurable_product" type="Magento\ConfigurableProduct\Model\Quote\Item\QuantityValidator\Initializer\Option\Plugin\ConfigurableProduct" sortOrder="50" /> </type> <type name="Magento\Catalog\Model\Product\CartConfiguration"> <plugin name="configurable_product" type="Magento\ConfigurableProduct\Model\Product\CartConfiguration\Plugin\Configurable" sortOrder="50" /> </type> <type name="Magento\Sales\Model\Order\Admin\Item"> <plugin name="configurable_product" type="Magento\ConfigurableProduct\Model\Order\Admin\Item\Plugin\Configurable" sortOrder="50" /> </type> <type name="Magento\Catalog\Helper\Product\Configuration"> <plugin name="configurable_product" type="Magento\ConfigurableProduct\Helper\Product\Configuration\Plugin" sortOrder="50" /> </type> <type name="Magento\Eav\Model\Entity\Attribute\Backend\AbstractBackend"> <plugin name="ConfigurableProduct::skipValidation" type="Magento\ConfigurableProduct\Plugin\Model\Attribute\Backend\AttributeValidation"/> </type> <type name="Magento\ConfigurableProduct\Plugin\Model\Attribute\Backend\AttributeValidation"> <arguments> <argument name="unskippableAttributes" xsi:type="array"> <item name="custom_layout_update" xsi:type="string">custom_layout_update</item> </argument> </arguments> </type> <type name="Magento\Catalog\Model\Entity\Product\Attribute\Group\AttributeMapperInterface"> <plugin name="configurable_product" type="Magento\ConfigurableProduct\Model\Entity\Product\Attribute\Group\AttributeMapper\Plugin" sortOrder="50" /> </type> <type name="Magento\Catalog\Model\Product\TypeTransitionManager"> <plugin name="configurable_product_transition" type="Magento\ConfigurableProduct\Model\Product\TypeTransitionManager\Plugin\Configurable" sortOrder="50" /> <arguments> <argument name="compatibleTypes" xsi:type="array"> <item name="configurable" xsi:type="const">Magento\ConfigurableProduct\Model\Product\Type\Configurable::TYPE_CODE</item> </argument> </arguments> </type> <type name="Magento\Sales\Model\ResourceModel\Report\Bestsellers"> <arguments> <argument name="ignoredProductTypes" xsi:type="array"> <item name="configurable" xsi:type="const">Magento\ConfigurableProduct\Model\Product\Type\Configurable::TYPE_CODE</item> </argument> </arguments> </type> <type name="Magento\Eav\Model\Entity\Setup\PropertyMapper\Composite"> <arguments> <argument name="propertyMappers" xsi:type="array"> <item name="configurable" xsi:type="string">Magento\ConfigurableProduct\Model\ResourceModel\Setup\PropertyMapper</item> </argument> </arguments> </type> <type name="Magento\Catalog\Model\Attribute\LockValidatorComposite"> <arguments> <argument name="validators" xsi:type="array"> <item name="configurable" xsi:type="string">Magento\ConfigurableProduct\Model\Attribute\LockValidator</item> </argument> </arguments> </type> <type name="Magento\Catalog\Api\ProductRepositoryInterface"> <plugin name="configurableProductSaveOptions" sortOrder="10" type="Magento\ConfigurableProduct\Model\Plugin\ProductRepositorySave"/> </type> <type name="Magento\Catalog\Model\Product\Type"> <plugin name="configurable_output" type="Magento\ConfigurableProduct\Model\Product\Type\Plugin" /> </type> <type name="Magento\Framework\EntityManager\Operation\ExtensionPool"> <arguments> <argument name="extensionActions" xsi:type="array"> <item name="Magento\Catalog\Api\Data\ProductInterface" xsi:type="array"> <item name="create" xsi:type="array"> <item name="create_configurable_options" xsi:type="string">Magento\ConfigurableProduct\Model\Product\SaveHandler</item> </item> <item name="update" xsi:type="array"> <item name="update_configurable_options" xsi:type="string">Magento\ConfigurableProduct\Model\Product\SaveHandler</item> </item> <item name="read" xsi:type="array"> <item name="read_configurable_options" xsi:type="string">Magento\ConfigurableProduct\Model\Product\ReadHandler</item> </item> </item> </argument> </arguments> </type> <virtualType name="Magento\ConfigurableProduct\Pricing\Price\Pool" type="Magento\Framework\Pricing\Price\Pool"> <arguments> <argument name="prices" xsi:type="array"> <item name="regular_price" xsi:type="string">Magento\ConfigurableProduct\Pricing\Price\ConfigurableRegularPrice</item> <item name="final_price" xsi:type="string">Magento\ConfigurableProduct\Pricing\Price\FinalPrice</item> </argument> <argument name="target" xsi:type="object">Magento\Catalog\Pricing\Price\Pool</argument> </arguments> </virtualType> <virtualType name="Magento\ConfigurableProduct\Pricing\Price\Collection" type="Magento\Framework\Pricing\Price\Collection"> <arguments> <argument name="pool" xsi:type="object">Magento\ConfigurableProduct\Pricing\Price\Pool</argument> </arguments> </virtualType> <type name="Magento\Framework\Pricing\PriceInfo\Factory"> <arguments> <argument name="types" xsi:type="array"> <item name="configurable" xsi:type="array"> <item name="infoClass" xsi:type="string">Magento\Framework\Pricing\PriceInfo\Base</item> <item name="prices" xsi:type="string">Magento\ConfigurableProduct\Pricing\Price\Collection</item> </item> </argument> </arguments> </type> <type name="Magento\Quote\Model\Quote\Item\Repository"> <arguments> <argument name="cartItemProcessors" xsi:type="array"> <item name="configurable" xsi:type="object">Magento\ConfigurableProduct\Model\Quote\Item\CartItemProcessor\Proxy</item> </argument> </arguments> </type> <type name="Magento\Sales\Api\OrderItemRepositoryInterface"> <arguments> <argument name="processorPool" xsi:type="array"> <item name="configurable" xsi:type="object">Magento\ConfigurableProduct\Model\ProductOptionProcessor</item> </argument> </arguments> </type> <type name="Magento\Sales\Model\Order\ProductOption"> <arguments> <argument name="processorPool" xsi:type="array"> <item name="configurable" xsi:type="object">Magento\ConfigurableProduct\Model\ProductOptionProcessor</item> </argument> </arguments> </type> <virtualType name="ConfigurableFinalPriceResolver" type="Magento\ConfigurableProduct\Pricing\Price\ConfigurablePriceResolver"> <arguments> <argument name="priceResolver" xsi:type="object">Magento\ConfigurableProduct\Pricing\Price\FinalPriceResolver</argument> </arguments> </virtualType> <type name="Magento\ConfigurableProduct\Pricing\Price\FinalPrice"> <arguments> <argument name="priceResolver" xsi:type="object">ConfigurableFinalPriceResolver</argument> </arguments> </type> <virtualType name="ConfigurableRegularPriceResolver" type="Magento\ConfigurableProduct\Pricing\Price\ConfigurablePriceResolver"> <arguments> <argument name="priceResolver" xsi:type="object">Magento\ConfigurableProduct\Pricing\Price\RegularPriceResolver</argument> </arguments> </virtualType> <type name="Magento\ConfigurableProduct\Pricing\Price\ConfigurableRegularPrice"> <arguments> <argument name="priceResolver" xsi:type="object">ConfigurableRegularPriceResolver</argument> </arguments> </type> <type name="Magento\Catalog\Model\Product\Attribute\Backend\Price"> <plugin name="configurable" type="Magento\ConfigurableProduct\Model\Plugin\PriceBackend" sortOrder="100" /> </type> <type name="Magento\ProductVideo\Block\Product\View\Gallery"> <plugin name="product_video_gallery" type="Magento\ConfigurableProduct\Block\Plugin\Product\Media\Gallery" /> </type> <type name="Magento\ConfigurableProduct\Model\Product\Type\Configurable"> <arguments> <argument name="cache" xsi:type="object">Magento\Framework\App\Cache\Type\Collection</argument> </arguments> </type> <type name="Magento\ConfigurableProduct\Model\ResourceModel\Product\Type\Configurable"> <arguments> <argument name="attributeOptionProvider" xsi:type="object">Magento\ConfigurableProduct\Model\AttributeOptionProvider\Proxy</argument> </arguments> </type> <type name="Magento\ConfigurableProduct\Observer\HideUnsupportedAttributeTypes"> <arguments> <argument name="supportedTypes" xsi:type="array"> <item name="select" xsi:type="string">select</item> </argument> </arguments> </type> <type name="Magento\Catalog\Model\ResourceModel\Product\Indexer\Price\BatchSizeCalculator"> <arguments> <argument name="estimators" xsi:type="array"> <item name="configurable" xsi:type="object">Magento\Catalog\Model\Indexer\Price\CompositeProductBatchSizeManagement</item> </argument> <argument name="batchSizeAdjusters" xsi:type="array"> <item name="configurable" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\Price\CompositeProductBatchSizeAdjuster</item> </argument> <!-- real batch size will be smaller. It depends on amount configurable product variations. E.g for 100 variations real batch size will be 50000/100=500 --> <argument name="batchRowsCount" xsi:type="array"> <item name="configurable" xsi:type="number">50000</item> </argument> </arguments> </type> <type name="Magento\ConfigurableProduct\Model\ResourceModel\Product\Indexer\Price\Configurable"> <arguments> <argument name="tableStrategy" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\TemporaryTableStrategy</argument> <argument name="connectionName" xsi:type="string">indexer</argument> <argument name="baseSelectProcessor" xsi:type="object">Magento\ConfigurableProduct\Model\ResourceModel\Product\Indexer\Price\BaseStockStatusSelectProcessor</argument> </arguments> </type> <type name="Magento\ConfigurableProduct\Model\ResourceModel\Product\Indexer\Price\OptionsSelectBuilder"> <arguments> <argument name="selectProcessor" xsi:type="object">Magento\ConfigurableProduct\Model\ResourceModel\Product\Indexer\Price\BaseStockStatusSelectProcessor</argument> <argument name="connectionName" xsi:type="string">indexer</argument> </arguments> </type> <type name="Magento\ConfigurableProduct\Plugin\Model\ResourceModel\Product"> <arguments> <argument name="productIndexer" xsi:type="object">Magento\Catalog\Model\Indexer\Product\Full</argument> </arguments> </type> <type name="Magento\ConfigurableProduct\Pricing\Price\LowestPriceOptionsProvider"> <arguments> <argument name="linkedProductSelectBuilder" xsi:type="object">Magento\ConfigurableProduct\Model\ResourceModel\Product\LinkedProductSelectBuilder</argument> </arguments> </type> <type name="Magento\ConfigurableProduct\Model\ResourceModel\Product\LinkedProductSelectBuilder"> <arguments> <argument name="baseSelectProcessor" xsi:type="object">Magento\ConfigurableProduct\Model\ResourceModel\Product\StockStatusBaseSelectProcessor</argument> <argument name="linkedProductSelectBuilder" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\LinkedProductSelectBuilderByIndexPrice</argument> </arguments> </type> <type name="Magento\Catalog\Model\Product\Pricing\Renderer\SalableResolver"> <plugin name="configurable" type="Magento\ConfigurableProduct\Plugin\Catalog\Model\Product\Pricing\Renderer\SalableResolver" /> </type> <type name="Magento\Catalog\Model\Product"> <plugin name="product_identities_extender" type="Magento\ConfigurableProduct\Model\Plugin\ProductIdentitiesExtender" /> </type> <type name="Magento\Catalog\Model\Product\Configuration\Item\ItemResolverComposite"> <arguments> <argument name="itemResolvers" xsi:type="array"> <item name="configurable" xsi:type="string">Magento\ConfigurableProduct\Model\Product\Configuration\Item\ItemProductResolver</item> </argument> </arguments> </type> <type name="Magento\SalesRule\Model\Quote\ChildrenValidationLocator"> <arguments> <argument name="productTypeChildrenValidationMap" xsi:type="array"> <item name="configurable" xsi:type="boolean">false</item> </argument> </arguments> </type> <type name="Magento\SalesRule\Model\Rule\Condition\Product"> <plugin name="apply_rule_on_configurable_children" type="Magento\ConfigurableProduct\Plugin\SalesRule\Model\Rule\Condition\Product" /> </type> <type name="Magento\Tax\Model\Sales\Total\Quote\CommonTaxCollector"> <plugin name="apply_tax_class_id" type="Magento\ConfigurableProduct\Plugin\Tax\Model\Sales\Total\Quote\CommonTaxCollector" /> </type> <type name="Magento\Eav\Model\Entity\Attribute\Group"> <arguments> <argument name="reservedSystemNames" xsi:type="array"> <item name="configurable" xsi:type="string">configurable</item> </argument> </arguments> </type> <type name="Magento\CatalogInventory\Observer\SaveInventoryDataObserver"> <arguments> <argument name="parentItemProcessorPool" xsi:type="array"> <item name="configurable" xsi:type="object"> Magento\ConfigurableProduct\Model\Inventory\ParentItemProcessor</item> </argument> </arguments> </type> <type name="Magento\ConfigurableProduct\Model\Plugin\Frontend\UsedProductsCache"> <arguments> <argument name="cache" xsi:type="object">Magento\Framework\App\Cache\Type\Collection</argument> </arguments> <arguments> <argument name="serializer" xsi:type="object">Magento\Framework\Serialize\Serializer\Json</argument> </arguments> </type> <type name="Magento\CatalogInventory\Model\ResourceModel\Stock\Item"> <plugin name="updateStockChangedAuto" type="Magento\ConfigurableProduct\Model\Plugin\UpdateStockChangedAuto" /> </type> </config>