Files
2026-09-15 10:26:34 +08:00

207 lines
18 KiB
XML

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<preference for="Stemcell\ProductImport\Api\ImportInterface" type="Stemcell\ProductImport\Model\Import" />
<preference for="Stemcell\ProductImport\Api\Data\ProductDataInterface" type="Stemcell\ProductImport\Model\Data\ProductData" />
<preference for="Stemcell\ProductImport\Api\Data\ProductDataExtensionInterface" type="Stemcell\ProductImport\Model\Data\ProductDataExtension" />
<preference for="Stemcell\ProductImport\Api\Data\ImportResultInterface" type="Stemcell\ProductImport\Model\Data\ImportResult" />
<preference for="Stemcell\ProductImport\Api\CmsPageImportInterface" type="Stemcell\ProductImport\Model\CmsPageImport" />
<preference for="Stemcell\ProductImport\Api\Data\CmsPageDataInterface" type="Stemcell\ProductImport\Model\Data\CmsPageData" />
<type name="Magento\Framework\App\Request\CsrfValidator">
<plugin name="disable_csrf_validation" type="Stemcell\ProductImport\Plugin\DisableCsrfValidation" sortOrder="1" />
</type>
<type name="Magento\Framework\View\Element\Html\Calendar">
<plugin name="fix_calendar_icu_data" type="Stemcell\ProductImport\Plugin\FixCalendarIcuData" sortOrder="1" />
</type>
<type name="Stemcell\ProductImport\Model\Import">
<arguments>
<argument name="productRepository" xsi:type="object">Magento\Catalog\Api\ProductRepositoryInterface\Proxy</argument>
<argument name="productFactory" xsi:type="object">Magento\Catalog\Model\ProductFactory</argument>
<argument name="storeManager" xsi:type="object">Magento\Store\Model\StoreManagerInterface\Proxy</argument>
<argument name="attributeSetOptions" xsi:type="object">Magento\Catalog\Model\Product\AttributeSet\Options</argument>
<argument name="importResult" xsi:type="object">Stemcell\ProductImport\Model\Data\ImportResult</argument>
<argument name="logger" xsi:type="object">Psr\Log\LoggerInterface</argument>
<argument name="request" xsi:type="object">Magento\Framework\App\RequestInterface</argument>
<argument name="stockRegistry" xsi:type="object">Magento\CatalogInventory\Api\StockRegistryInterface\Proxy</argument>
<argument name="stockItemFactory" xsi:type="object">Magento\CatalogInventory\Api\Data\StockItemInterfaceFactory</argument>
<argument name="categoryCollectionFactory" xsi:type="object">Magento\Catalog\Model\ResourceModel\Category\CollectionFactory</argument>
<argument name="mediaGalleryEntryFactory" xsi:type="object">Magento\Catalog\Model\Product\Gallery\EntryFactory</argument>
<argument name="indexerFactory" xsi:type="object">Magento\Indexer\Model\IndexerFactory</argument>
<argument name="eavConfig" xsi:type="object">Magento\Eav\Model\Config</argument>
<argument name="optionFactory" xsi:type="object">Magento\Eav\Api\Data\AttributeOptionInterfaceFactory</argument>
<argument name="optionManagement" xsi:type="object">Magento\Eav\Api\AttributeOptionManagementInterface\Proxy</argument>
<argument name="productCollectionFactory" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\CollectionFactory</argument>
<argument name="resource" xsi:type="object">Magento\Framework\App\ResourceConnection</argument>
</arguments>
</type>
<type name="Stemcell\ProductImport\Model\CmsPageImport">
<arguments>
<argument name="pageRepository" xsi:type="object">Magento\Cms\Api\PageRepositoryInterface\Proxy</argument>
<argument name="pageFactory" xsi:type="object">Magento\Cms\Api\Data\PageInterfaceFactory</argument>
<argument name="importResult" xsi:type="object">Stemcell\ProductImport\Model\Data\ImportResult</argument>
<argument name="logger" xsi:type="object">Psr\Log\LoggerInterface</argument>
<argument name="storeManager" xsi:type="object">Magento\Store\Model\StoreManagerInterface\Proxy</argument>
<argument name="resource" xsi:type="object">Magento\Framework\App\ResourceConnection</argument>
<argument name="pageCollectionFactory" xsi:type="object">Magento\Cms\Model\ResourceModel\Page\CollectionFactory</argument>
</arguments>
</type>
<type name="Stemcell\ProductImport\Console\Command\UpdateProductCategoryCommand">
<arguments>
<argument name="productRepository" xsi:type="object">Magento\Catalog\Api\ProductRepositoryInterface\Proxy</argument>
<argument name="categoryCollectionFactory" xsi:type="object">Magento\Catalog\Model\ResourceModel\Category\CollectionFactory</argument>
<argument name="resourceConnection" xsi:type="object">Magento\Framework\App\ResourceConnection</argument>
<argument name="logger" xsi:type="object">Psr\Log\LoggerInterface</argument>
</arguments>
</type>
<type name="Stemcell\ProductImport\Console\Command\ImportVirtualProducts">
<arguments>
<argument name="state" xsi:type="object">Magento\Framework\App\State</argument>
<argument name="productFactory" xsi:type="object">Magento\Catalog\Model\ProductFactory</argument>
<argument name="productRepository" xsi:type="object">Magento\Catalog\Api\ProductRepositoryInterface\Proxy</argument>
<argument name="attributeFactory" xsi:type="object">Magento\Eav\Model\Entity\AttributeFactory</argument>
<argument name="attributeSetFactory" xsi:type="object">Magento\Eav\Model\Entity\Attribute\SetFactory</argument>
<argument name="categoryFactory" xsi:type="object">Magento\Catalog\Model\CategoryFactory</argument>
<argument name="categoryRepository" xsi:type="object">Magento\Catalog\Api\CategoryRepositoryInterface\Proxy</argument>
<argument name="directoryList" xsi:type="object">Magento\Framework\Filesystem\DirectoryList</argument>
<argument name="curl" xsi:type="object">Magento\Framework\HTTP\Client\Curl</argument>
<argument name="resource" xsi:type="object">Magento\Framework\App\ResourceConnection</argument>
<argument name="objectManager" xsi:type="object">Magento\Framework\ObjectManagerInterface</argument>
<argument name="stockRegistry" xsi:type="object">Magento\CatalogInventory\Api\StockRegistryInterface\Proxy</argument>
<argument name="stockItemFactory" xsi:type="object">Magento\CatalogInventory\Api\Data\StockItemInterfaceFactory</argument>
<argument name="logger" xsi:type="object">Psr\Log\LoggerInterface</argument>
</arguments>
</type>
<type name="Stemcell\ProductImport\Console\Command\UpdateParentSkusCommand">
<arguments>
<argument name="state" xsi:type="object">Magento\Framework\App\State</argument>
<argument name="productRepository" xsi:type="object">Magento\Catalog\Api\ProductRepositoryInterface\Proxy</argument>
<argument name="productCollectionFactory" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\CollectionFactory</argument>
<argument name="logger" xsi:type="object">Psr\Log\LoggerInterface</argument>
</arguments>
</type>
<type name="Stemcell\ProductImport\Console\Command\CleanupParentSkusCommand">
<arguments>
<argument name="state" xsi:type="object">Magento\Framework\App\State</argument>
<argument name="resource" xsi:type="object">Magento\Framework\App\ResourceConnection</argument>
<argument name="logger" xsi:type="object">Psr\Log\LoggerInterface</argument>
</arguments>
</type>
<type name="Stemcell\ProductImport\Console\Command\ExportParentSkusCommand">
<arguments>
<argument name="state" xsi:type="object">Magento\Framework\App\State</argument>
<argument name="resource" xsi:type="object">Magento\Framework\App\ResourceConnection</argument>
<argument name="logger" xsi:type="object">Psr\Log\LoggerInterface</argument>
<argument name="directoryList" xsi:type="object">Magento\Framework\Filesystem\DirectoryList</argument>
<argument name="configurableType" xsi:type="object">Magento\ConfigurableProduct\Model\Product\Type\Configurable</argument>
<argument name="bundleType" xsi:type="object">Magento\Bundle\Model\Product\Type</argument>
</arguments>
</type>
<type name="Stemcell\ProductImport\Console\Command\ExportUniqueSkusCommand">
<arguments>
<argument name="state" xsi:type="object">Magento\Framework\App\State</argument>
<argument name="resource" xsi:type="object">Magento\Framework\App\ResourceConnection</argument>
<argument name="logger" xsi:type="object">Psr\Log\LoggerInterface</argument>
<argument name="directoryList" xsi:type="object">Magento\Framework\Filesystem\DirectoryList</argument>
</arguments>
</type>
<type name="Stemcell\ProductImport\Console\Command\UpdateCategoryPositionCommand">
<arguments>
<argument name="state" xsi:type="object">Magento\Framework\App\State</argument>
<argument name="resource" xsi:type="object">Magento\Framework\App\ResourceConnection</argument>
<argument name="logger" xsi:type="object">Psr\Log\LoggerInterface</argument>
</arguments>
</type>
<type name="Stemcell\ProductImport\Console\Command\ExportSkuCatalogNumbersCommand">
<arguments>
<argument name="state" xsi:type="object">Magento\Framework\App\State</argument>
<argument name="resource" xsi:type="object">Magento\Framework\App\ResourceConnection</argument>
<argument name="directoryList" xsi:type="object">Magento\Framework\Filesystem\DirectoryList</argument>
<argument name="logger" xsi:type="object">Psr\Log\LoggerInterface</argument>
</arguments>
</type>
<type name="Stemcell\ProductImport\Console\Command\CheckCatalogNumbersCommand">
<arguments>
<argument name="appState" xsi:type="object">Magento\Framework\App\State</argument>
<argument name="productRepository" xsi:type="object">Magento\Catalog\Api\ProductRepositoryInterface\Proxy</argument>
<argument name="searchCriteriaBuilder" xsi:type="object">Magento\Framework\Api\SearchCriteriaBuilder</argument>
</arguments>
</type>
<!-- Command registration -->
<type name="Magento\Framework\Console\CommandList">
<arguments>
<argument name="commands" xsi:type="array">
<item name="stemcell_import_json" xsi:type="object">Stemcell\ProductImport\Console\Command\ImportJsonCommand</item>
<item name="stemcell_product_update" xsi:type="object">Stemcell\ProductImport\Console\Command\UpdateProductCommand</item>
<item name="stemcell_product_import_images" xsi:type="object">Stemcell\ProductImport\Console\Command\ImportProductImagesCommand</item>
<item name="stemcell_product_related_products" xsi:type="object">Stemcell\ProductImport\Console\Command\UpdateRelatedProduct</item>
<item name="stemcell_test_image_import" xsi:type="object">Stemcell\ProductImport\Console\Command\TestImageImportCommand</item>
<item name="stemcell_product_update_category" xsi:type="object">Stemcell\ProductImport\Console\Command\UpdateProductCategoryCommand</item>
<item name="stemcell_update_descriptions" xsi:type="object">Stemcell\ProductImport\Console\Command\ExportAttributesCommand</item>
<item name="stemcell_import_virtual_products" xsi:type="object">Stemcell\ProductImport\Console\Command\ImportVirtualProducts</item>
<item name="stemcell_export_virtual_products_excel" xsi:type="object">Stemcell\ProductImport\Console\Command\ExportVirtualProductsToExcel</item>
<item name="stemcell_update_product_description" xsi:type="object">Stemcell\ProductImport\Console\Command\UpdateProductDescriptionCommand</item>
<item name="stemcell_deduplicate_attribute_options" xsi:type="object">Stemcell\ProductImport\Console\Command\DeduplicateAttributeOptionsCommand</item>
<item name="stemcell_restore_cell_type" xsi:type="object">Stemcell\ProductImport\Console\Command\RestoreCellTypeCommand</item>
<item name="stemcell_update_parent_skus" xsi:type="object">Stemcell\ProductImport\Console\Command\UpdateParentSkusCommand</item>
<item name="stemcell_cleanup_parent_skus" xsi:type="object">Stemcell\ProductImport\Console\Command\CleanupParentSkusCommand</item>
<item name="stemcell_export_parent_skus" xsi:type="object">Stemcell\ProductImport\Console\Command\ExportParentSkusCommand</item>
<item name="stemcell_export_unique_skus" xsi:type="object">Stemcell\ProductImport\Console\Command\ExportUniqueSkusCommand</item>
<item name="stemcell_update_category_position" xsi:type="object">Stemcell\ProductImport\Console\Command\UpdateCategoryPositionCommand</item>
<item name="stemcell_export_sku_catalog_numbers" xsi:type="object">Stemcell\ProductImport\Console\Command\ExportSkuCatalogNumbersCommand</item>
<item name="stemcell_check_catalog_numbers" xsi:type="object">Stemcell\ProductImport\Console\Command\CheckCatalogNumbersCommand</item>
<item name="product_name_update" xsi:type="object">Stemcell\ProductImport\Console\Command\UpdateProductNameCommand</item>
<item name="category_filter_makeup" xsi:type="object">Stemcell\ProductImport\Console\Command\MakeupCategoryFilter</item>
<item name="MergeExcelSameSku" xsi:type="object">Stemcell\ProductImport\Console\Command\MergeExcelSameSku</item>
<item name="ImportProductStock" xsi:type="object">Stemcell\ProductImport\Console\Command\ImportProductStock</item>
<item name="ImportProductPrice" xsi:type="object">Stemcell\ProductImport\Console\Command\ImportProductPrice</item>
<item name="UpdateProductSamplePreparation" xsi:type="object">Stemcell\ProductImport\Console\Command\UpdateProductSamplePreparation</item>
<item name="MergeExcelSameSku" xsi:type="object">Stemcell\ProductImport\Console\Command\MergeExcelSameSku</item>
<item name="MergeDuplicateAttributeOption" xsi:type="object">Stemcell\ProductImport\Console\Command\MergeDuplicateAttributeOption</item>
<item name="ExportPhysicalProduct" xsi:type="object">Stemcell\ProductImport\Console\Command\ExportPhysicalProduct</item>
<item name="UpdateProductForYourProtocol" xsi:type="object">Stemcell\ProductImport\Console\Command\UpdateProductForYourProtocol</item>
<item name="ImportDataToNewPublishData" xsi:type="object">Stemcell\ProductImport\Console\Command\ImportDataToNewPublishData</item>
<item name="CheckoutProductForYourProtocol" xsi:type="object">Stemcell\ProductImport\Console\Command\CheckoutProductForYourProtocol</item>
<item name="ExtractDescriptionFromProductDataCSV" xsi:type="object">Stemcell\ProductImport\Console\Command\ExtractDescriptionFromProductDataCSV</item>
<item name="ResourcesPublicationsLocalized" xsi:type="object">Stemcell\ProductImport\Console\Command\ResourcesPublicationsLocalized</item>
<item name="ProductDelist" xsi:type="object">Stemcell\ProductImport\Console\Command\ProductDelist</item>
<item name="DelistProductsWithReport" xsi:type="object">Stemcell\ProductImport\Console\Command\DelistProductsCommand</item>
<item name="DisableEuSafetyDataSheets" xsi:type="object">Stemcell\ProductImport\Console\Command\DisableEuSafetyDataSheetsCommand</item>
<item name="RepairSafetyDataSheetCategory" xsi:type="object">Stemcell\ProductImport\Console\Command\RepairSafetyDataSheetCategoryCommand</item>
<item name="ParentSkuClean" xsi:type="object">Stemcell\ProductImport\Console\Command\ParentSkuClean</item>
<item name="ExportConfigurableSubProduct" xsi:type="object">Stemcell\ProductImport\Console\Command\ExportConfigurableSubProduct</item>
<item name="ProductCategorize" xsi:type="object">Stemcell\ProductImport\Console\Command\ProductCategorize</item>
<item name="ProductUseDefaultValue" xsi:type="object">Stemcell\ProductImport\Console\Command\ProductUseDefaultValue</item>
<item name="UpdatePisProductPdf" xsi:type="object">Stemcell\ProductImport\Console\Command\UpdatePisProductPdf</item>
<item name="UpdateEnglishPIS" xsi:type="object">Stemcell\ProductImport\Console\Command\UpdateEnglishPIS</item>
<item name="UpdateParentNames" xsi:type="object">Stemcell\ProductImport\Console\Command\UpdateParentNames</item>
<item name="UpdateConfigurableChineseDocumentation" xsi:type="object">Stemcell\ProductImport\Console\Command\UpdateConfigurableProtocol</item>
<item name="UpdateCNPis" xsi:type="object">Stemcell\ProductImport\Console\Command\UpdateCNPis</item>
<item name="UpdateDocumentPath" xsi:type="object">Stemcell\ProductImport\Console\Command\UpdateDocumentPath</item>
<item name="ImportTechnicalResourceFAQSku" xsi:type="object">Stemcell\ProductImport\Console\Command\ImportTechnicalResourceFAQSku</item>
<item name="ImportTechnicalResourceFAQFromVirtualProduct" xsi:type="object">Stemcell\ProductImport\Console\Command\ImportTechnicalResourceFAQFromVirtualProduct</item>
<item name="AnalyzeConfigurableProductApplications" xsi:type="object">Stemcell\ProductImport\Console\Command\AnalyzeConfigurableProductApplicationsCommand</item>
<item name="ExportVirtualProductSkuJson" xsi:type="object">Stemcell\ProductImport\Console\Command\ExportVirtualProductSkuJsonCommand</item>
<item name="ConvertWorkflowLinksToRelative" xsi:type="object">Stemcell\ProductImport\Console\Command\ConvertWorkflowLinksToRelativeCommand</item>
<item name="ExportChineseTechnicalResource" xsi:type="object">Stemcell\ProductImport\Console\Command\ExportChineseTechnicalResource</item>
</argument>
</arguments>
</type>
<type name="Magento\Framework\File\Uploader">
<plugin name="stemcell_uploader_plugin" type="Stemcell\ProductImport\Plugin\UploaderPlugin" />
</type>
</config>