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
我已編輯我的答案,請檢查。 –