1
製品のインポート時に製品エンティティIDを取得する必要があります。私はオブザーバーに製品エンティティIDを取得できません。イベント時に製品エンティティIDを取得するcatalog_product_import_finish_before 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);
}
}
このイベントでは、商品オブジェクトが取得されません。カタログの商品番号は、 – Priyanka
$ this-> _ eventManager-> dispatch( 'catalog_product_import_finish_before'、['adapter' => $ this]); – Priyanka
私の答えを編集してください。 –