1
我需要在产品导入时获取产品实体ID。我无法在观察者中获得产品实体ID。下面是代码:在事件catalog_product_import_finish_before上获取产品实体ID magento 2
Events.xml
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
<event name="catalog_product_import_finish_before">
<observer name="generate_ipn" instance="Chetu\Generateipn\Observer\Productimportfinishbefore"/>
</event>
</config>
观测文件Productimportfinishbefore.php
<?php
namespace Chetu\Generateipn\Observer;
use Magento\Framework\Event\ObserverInterface;
class Productimportfinishbefore implements ObserverInterface
{
protected $logger;
public function __construct(\Psr\Log\LoggerInterface $logger)
{
$this->logger = $logger;
}
public function execute(\Magento\Framework\Event\Observer $observer)
{
$observer = $observer->getData();
$writer = new \Zend\Log\Writer\Stream(BP . '/var/log/mylogfile.log');
$logger = new \Zend\Log\Logger();
$logger->addWriter($writer);
$logger->info($observer);
}
}
我们没有在此事件catalog_product_import_finish_before中获取产品对象。 – Priyanka
$ this - > _ eventManager-> dispatch('catalog_product_import_finish_before',['adapter'=> $ this]); – Priyanka
我已编辑我的答案,请检查。 –