Observer for the product when importing products in Magento 2
When a product is uploaded by importing then event catalog_product_save_after is not triggered.
Instead, the catalog_product_import_bunch_save_after event is dispatched in the Magento/CatalogImportExport/Model/Import/Product.php file.
So in the events.xml file, you will need to enter these lines of code
<event name="catalog_product_import_bunch_save_after">
<observer name="webkul_module_catalog_product_import_bunch_save_after" instance="Webkul\Module\Observer\CatalogProductImportBunchSaveAfter" />
</event>
Next, create an observer file by the name CatalogProductImportBunchSaveAfter.php inside the folder Webkul/Module/Observer/ and write these lines of code to get uploaded product data
public function execute(\Magento\Framework\Event\Observer $observer)
{
try {
$bunch = $observer->getBunch();
foreach($bunch as $product) {
\Magento\Framework\App\ObjectManager::getInstance()
->get('Psr\Log\LoggerInterface')
->info('Product Data '.json_encode($product));
}
} catch (\Execption $e) {
\Magento\Framework\App\ObjectManager::getInstance()
->get('Psr\Log\LoggerInterface')
->info('Error '.$e->getMessage());
}
}
In this way, you can get uploaded product data
Happy coding 🙂
It’s possible to update data during the import? For example set a value for an attribute.
Thanks for your work