Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Import 在magento 2之前获取事件目录\u产品\u导入\u完成\u上的产品实体Id_Import_Magento2 - Fatal编程技术网

Import 在magento 2之前获取事件目录\u产品\u导入\u完成\u上的产品实体Id

Import 在magento 2之前获取事件目录\u产品\u导入\u完成\u上的产品实体Id,import,magento2,Import,Magento2,我需要在产品导入时获取产品实体id。我无法在我的观察者中获取产品实体id。代码如下: 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

我需要在产品导入时获取产品实体id。我无法在我的观察者中获取产品实体id。代码如下:

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);
    }   
}

//试试下面的代码

 public function execute(\Magento\Framework\Event\Observer $observer)
 {
     $adapter = $observer->getEvent()->getAdapter();
     $Entityids = $adapter->getAffectedEntityIds();   
 }   

//试试下面的代码

 public function execute(\Magento\Framework\Event\Observer $observer)
 {
     $adapter = $observer->getEvent()->getAdapter();
     $Entityids = $adapter->getAffectedEntityIds();   
 }   

我们没有在此事件目录\u product\u import\u finish\u之前获取产品对象。$this->\u eventManager->dispatch('catalog\u product\u import\u finish\u before',['adapter'=>$this]);此函数getAffectedEntityIds()位于magento 1中。我试过这个。我们在magento 2中没有此功能。请检查此链接。控制器\操作\目录\产品\保存\实体\之后和目录\产品\保存\之后从管理面板保存产品。我们需要产品导入上的产品id并添加我们的功能。我们没有在此事件目录中获取产品对象。\u product\u import\u finish\u before.$this->\u eventManager->dispatch('catalog\u product\u import\u finish\u before',['adapter'=>$this]);此函数getAffectedEntityIds()位于magento 1中。我试过这个。我们在magento 2中没有此功能。请检查此链接。控制器\操作\目录\产品\保存\实体\之后和目录\产品\保存\之后从管理面板保存产品。我们希望在产品导入时使用产品id并添加我们的功能。