We have not done changes in the files. It’s strange that When we click on System > Import , it give below error. It was working fine yesterday.
Exception #0 (BadMethodCallException): Missing required argument $data of FroogalCatalogModelImport.
#1 MagentoFrameworkObjectManagerFactoryAbstractFactory->resolveArgumentsInRuntime() called at [vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php:34]
#2 MagentoFrameworkObjectManagerFactoryDynamicDeveloper->_resolveArguments() called at [vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php:59]
#3 MagentoFrameworkObjectManagerFactoryDynamicDeveloper->create() called at [vendor/magento/framework/ObjectManager/ObjectManager.php:70]
#4 MagentoFrameworkObjectManagerObjectManager->get() called at [vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php:170]
#5 MagentoFrameworkObjectManagerFactoryAbstractFactory->resolveArgument() called at [vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php:276]
#6 MagentoFrameworkObjectManagerFactoryAbstractFactory->getResolvedArgument() called at [vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php:239]
#7 MagentoFrameworkObjectManagerFactoryAbstractFactory->resolveArgumentsInRuntime() called at [vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php:34]
#8 MagentoFrameworkObjectManagerFactoryDynamicDeveloper->_resolveArguments() called at [vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php:59]
#9 MagentoFrameworkObjectManagerFactoryDynamicDeveloper->create() called at [vendor/magento/framework/ObjectManager/ObjectManager.php:56]
#10 MagentoFrameworkObjectManagerObjectManager->create() called at [vendor/magento/framework/View/Element/BlockFactory.php:44]
#11 MagentoFrameworkViewElementBlockFactory->createBlock() called at [vendor/magento/framework/View/Layout/Generator/Block.php:272]
#12 MagentoFrameworkViewLayoutGeneratorBlock->getBlockInstance() called at [vendor/magento/framework/View/Layout/Generator/Block.php:252]
#13 MagentoFrameworkViewLayoutGeneratorBlock->createBlock() called at [vendor/magento/framework/View/Layout/Generator/Block.php:229]
#14 MagentoFrameworkViewLayoutGeneratorBlock->generateBlock() called at [vendor/magento/framework/View/Layout/Generator/Block.php:134]
#15 MagentoFrameworkViewLayoutGeneratorBlock->process() called at [vendor/magento/framework/View/Layout/GeneratorPool.php:93]
#16 MagentoFrameworkViewLayoutGeneratorPool->process() called at [vendor/magento/framework/View/Layout.php:365]
#17 MagentoFrameworkViewLayout->generateElements() called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:68]
#18 MagentoFrameworkViewLayoutInterceptor->generateElements() called at [vendor/magento/framework/View/Layout/Builder.php:129]
#19 MagentoFrameworkViewLayoutBuilder->generateLayoutBlocks() called at [vendor/magento/framework/View/Page/Builder.php:65]
#20 MagentoFrameworkViewPageBuilder->generateLayoutBlocks() called at [vendor/magento/framework/View/Layout/Builder.php:65]
#21 MagentoFrameworkViewLayoutBuilder->build() called at [vendor/magento/framework/View/Layout.php:271]
#22 MagentoFrameworkViewLayout->build() called at [vendor/magento/framework/View/Layout.php:896]
#23 MagentoFrameworkViewLayout->getBlock() called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:293]
#24 MagentoFrameworkViewLayoutInterceptor->getBlock() called at [vendor/magento/module-backend/Model/View/Result/Page.php:26]
#25 MagentoBackendModelViewResultPage->setActiveMenu() called at [generated/code/Magento/Backend/Model/View/Result/Page/Interceptor.php:23]
#26 MagentoBackendModelViewResultPageInterceptor->setActiveMenu() called at [vendor/magento/module-import-export/Controller/Adminhtml/Import/Index.php:26]
#27 MagentoImportExportControllerAdminhtmlImportIndex->execute() called at [vendor/magento/framework/Interception/Interceptor.php:58]
#28 MagentoImportExportControllerAdminhtmlImportIndexInterceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:138]
#29 MagentoImportExportControllerAdminhtmlImportIndexInterceptor->MagentoFrameworkInterception{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153]
#30 MagentoImportExportControllerAdminhtmlImportIndexInterceptor->___callPlugins() called at [generated/code/Magento/ImportExport/Controller/Adminhtml/Import/Index/Interceptor.php:23]
#31 MagentoImportExportControllerAdminhtmlImportIndexInterceptor->execute() called at [vendor/magento/framework/App/Action/Action.php:111]
#32 MagentoFrameworkAppActionAction->dispatch() called at [vendor/magento/module-backend/App/AbstractAction.php:151]
#33 MagentoBackendAppAbstractAction->dispatch() called at [vendor/magento/framework/Interception/Interceptor.php:58]
#34 MagentoImportExportControllerAdminhtmlImportIndexInterceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:138]
#35 MagentoImportExportControllerAdminhtmlImportIndexInterceptor->MagentoFrameworkInterception{closure}() called at [vendor/magento/module-backend/App/Action/Plugin/Authentication.php:145]
#36 MagentoBackendAppActionPluginAuthentication->aroundDispatch() called at [vendor/magento/framework/Interception/Interceptor.php:135]
#37 MagentoImportExportControllerAdminhtmlImportIndexInterceptor->MagentoFrameworkInterception{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153]
#38 MagentoImportExportControllerAdminhtmlImportIndexInterceptor->___callPlugins() called at [generated/code/Magento/ImportExport/Controller/Adminhtml/Import/Index/Interceptor.php:32]
#39 MagentoImportExportControllerAdminhtmlImportIndexInterceptor->dispatch() called at [vendor/magento/framework/App/FrontController.php:245]
#40 MagentoFrameworkAppFrontController->getActionResponse() called at [vendor/magento/framework/App/FrontController.php:212]
#41 MagentoFrameworkAppFrontController->processRequest() called at [vendor/magento/framework/App/FrontController.php:147]
#42 MagentoFrameworkAppFrontController->dispatch() called at [vendor/magento/framework/Interception/Interceptor.php:58]
#43 MagentoFrameworkAppFrontControllerInterceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:138]
#44 MagentoFrameworkAppFrontControllerInterceptor->MagentoFrameworkInterception{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153]
#45 MagentoFrameworkAppFrontControllerInterceptor->___callPlugins() called at [generated/code/Magento/Framework/App/FrontController/Interceptor.php:23]
#46 MagentoFrameworkAppFrontControllerInterceptor->dispatch() called at [vendor/magento/framework/App/Http.php:116]
#47 MagentoFrameworkAppHttp->launch() called at [generated/code/Magento/Framework/App/Http/Interceptor.php:23]
#48 MagentoFrameworkAppHttpInterceptor->launch() called at [vendor/magento/framework/App/Bootstrap.php:264]
#49 MagentoFrameworkAppBootstrap->run() called at [pub/index.php:30]
Here is full code : https://pastebin.com/0Nsp1h1N
Below is the Code : app/code/Froogal/Catalog/Model/Import – Product.php
public function __construct(
MagentoFrameworkJsonHelperData $jsonHelper,
MagentoImportExportHelperData $importExportData,
MagentoImportExportModelResourceModelImportData $importData,
MagentoEavModelConfig $config,
MagentoFrameworkAppResourceConnection $resource,
MagentoImportExportModelResourceModelHelper $resourceHelper,
MagentoFrameworkStdlibStringUtils $string,
ProcessingErrorAggregatorInterface $errorAggregator,
MagentoFrameworkEventManagerInterface $eventManager,
MagentoCatalogInventoryApiStockRegistryInterface $stockRegistry,
MagentoCatalogInventoryApiStockConfigurationInterface $stockConfiguration,
MagentoCatalogInventoryModelSpiStockStateProviderInterface $stockStateProvider,
MagentoCatalogHelperData $catalogData,
MagentoImportExportModelImportConfig $importConfig,
MagentoCatalogImportExportModelImportProxyProductResourceModelFactory $resourceFactory,
MagentoCatalogImportExportModelImportProductOptionFactory $optionFactory,
MagentoEavModelResourceModelEntityAttributeSetCollectionFactory $setColFactory,
MagentoCatalogImportExportModelImportProductTypeFactory $productTypeFactory,
MagentoCatalogModelResourceModelProductLinkFactory $linkFactory,
MagentoCatalogImportExportModelImportProxyProductFactory $proxyProdFactory,
MagentoCatalogImportExportModelImportUploaderFactory $uploaderFactory,
MagentoFrameworkFilesystem $filesystem,
MagentoCatalogInventoryModelResourceModelStockItemFactory $stockResItemFac,
MagentoFrameworkStdlibDateTimeTimezoneInterface $localeDate,
DateTime $dateTime,
PsrLogLoggerInterface $logger,
MagentoFrameworkIndexerIndexerRegistry $indexerRegistry,
MagentoCatalogImportExportModelImportProductStoreResolver $storeResolver,
MagentoCatalogImportExportModelImportProductSkuProcessor $skuProcessor,
MagentoCatalogImportExportModelImportProductCategoryProcessor $categoryProcessor,
MagentoCatalogImportExportModelImportProductValidator $validator,
ObjectRelationProcessor $objectRelationProcessor,
TransactionManagerInterface $transactionManager,
MagentoCatalogImportExportModelImportProductTaxClassProcessor $taxClassProcessor,
MagentoFrameworkAppConfigScopeConfigInterface $scopeConfig,
MagentoCatalogModelProductUrl $productUrl,
array $data = [],
array $dateAttrCodes = [],
CatalogConfig $catalogConfig = null,
ImageTypeProcessor $imageTypeProcessor = null,
MediaGalleryProcessor $mediaProcessor = null,
StockItemImporterInterface $stockItemImporter = null,
DateTimeFactory $dateTimeFactory = null,
ProductRepositoryInterface $productRepository = null,
StatusProcessor $statusProcessor = null,
StockProcessor $stockProcessor = null,
LinkProcessor $linkProcessor = null,
File $fileDriver = null,
MagentoCatalogModelProductFactory $productFactoryData,
MagentoCatalogModelResourceModelProductCollectionFactory $productCollectionFactory
) {
$this->_eventManager = $eventManager;
$this->stockRegistry = $stockRegistry;
$this->stockConfiguration = $stockConfiguration;
$this->stockStateProvider = $stockStateProvider;
$this->_catalogData = $catalogData;
$this->_importConfig = $importConfig;
$this->_resourceFactory = $resourceFactory;
$this->_setColFactory = $setColFactory;
$this->_productTypeFactory = $productTypeFactory;
$this->_linkFactory = $linkFactory;
$this->_proxyProdFactory = $proxyProdFactory;
$this->_uploaderFactory = $uploaderFactory;
$this->filesystem = $filesystem;
$this->_mediaDirectory = $filesystem->getDirectoryWrite(DirectoryList::ROOT);
$this->_stockResItemFac = $stockResItemFac;
$this->_localeDate = $localeDate;
$this->dateTime = $dateTime;
$this->indexerRegistry = $indexerRegistry;
$this->_logger = $logger;
$this->storeResolver = $storeResolver;
$this->skuProcessor = $skuProcessor;
$this->categoryProcessor = $categoryProcessor;
$this->validator = $validator;
$this->objectRelationProcessor = $objectRelationProcessor;
$this->transactionManager = $transactionManager;
$this->taxClassProcessor = $taxClassProcessor;
$this->scopeConfig = $scopeConfig;
$this->productUrl = $productUrl;
$this->dateAttrCodes = array_merge($this->dateAttrCodes, $dateAttrCodes);
$this->catalogConfig = $catalogConfig ?: ObjectManager::getInstance()->get(CatalogConfig::class);
$this->imageTypeProcessor = $imageTypeProcessor ?: ObjectManager::getInstance()->get(ImageTypeProcessor::class);
$this->mediaProcessor = $mediaProcessor ?: ObjectManager::getInstance()->get(MediaGalleryProcessor::class);
$this->stockItemImporter = $stockItemImporter ?: ObjectManager::getInstance()
->get(StockItemImporterInterface::class);
$this->statusProcessor = $statusProcessor ?: ObjectManager::getInstance()
->get(StatusProcessor::class);
$this->stockProcessor = $stockProcessor ?: ObjectManager::getInstance()
->get(StockProcessor::class);
$this->linkProcessor = $linkProcessor ?? ObjectManager::getInstance()
->get(LinkProcessor::class);
$this->linkProcessor->addNameToIds($this->_linkNameToId);
$this->data = $data;
$this->productFactoryData = $productFactoryData;
$this->productCollectionFactory = $productCollectionFactory;
parent::__construct(
$jsonHelper,
$importExportData,
$importData,
$config,
$resource,
$resourceHelper,
$string,
$errorAggregator,
$eventManager,
$stockRegistry,
$stockConfiguration,
$stockStateProvider,
$catalogData,$importConfig,$resourceFactory,$optionFactory,$setColFactory,$productTypeFactory,
$linkFactory,$proxyProdFactory,$uploaderFactory,$filesystem,$stockResItemFac,$localeDate,$dateTime,$logger,$indexerRegistry,$storeResolver,$skuProcessor,$categoryProcessor,$validator,$objectRelationProcessor,$transactionManager,$taxClassProcessor,
$scopeConfig,$productUrl,$data,$dateAttrCodes,$catalogConfig,$imageTypeProcessor,$mediaProcessor,
$stockItemImporter,$dateTimeFactory,$productRepository,$statusProcessor,$stockProcessor,
$linkProcessor,$fileDriver
);
$this->_optionEntity = $data['option_entity'] ??
$optionFactory->create(['data' => ['product_entity' => $this]]);
$this->_initAttributeSets()
->_initTypeModels()
->_initSkus()
->initImagesArrayKeys();
$this->validator->init($this);
$this->dateTimeFactory = $dateTimeFactory ?? ObjectManager::getInstance()->get(DateTimeFactory::class);
$this->productRepository = $productRepository ?? ObjectManager::getInstance()
->get(ProductRepositoryInterface::class);
}
