簡體   English   中英

Magento 2.2 Observer無法正常工作

[英]Magento 2.2 Observer not working

這是我的代碼。 當我嘗試保存產品時, newfile123456789.txt文件未更新。

events.xml代碼

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
    <event name="controller_action_catalog_product_save_entity_after">
        <observer name="Company_Module_Product_Save_After" instance="Company\Module\Observer\productSaveAfter" />
    </event>
</config>

ProductSaveAfter.php的代碼

namespace Company\Module\Observer;

use Magento\Framework\Event\ObserverInterface;

class productSaveAfter implements ObserverInterface
{
    /**
     * @var ObjectManagerInterface
     */
    protected $_objectManager;

    /**
     * @param \Magento\Framework\ObjectManagerInterface $objectManager
     */
    public function __construct(
        \Magento\Framework\ObjectManagerInterface $objectManager
    ) {
        $this->_objectManager = $objectManager;
    }

    /**
     * customer register event handler
     *
     * @param \Magento\Framework\Event\Observer $observer
     * @return void
     */
    public function execute(\Magento\Framework\Event\Observer $observer)
    {
        //$_product = $observer->getProduct(); // you will get product object
        //$_sku     = $_product->getSku(); // for sku

        $myfile = fopen("newfile123456789.txt", "w") or die("Unable to open file!");
        $txt = "John Doe\n";
        fwrite($myfile, $txt);
        fclose($myfile);

        die('Observer Is called!');
    }
}

請定義產品保存事件,如下所示:

 <event name="catalog_product_save_after"> <observer name="Company_Module_Product_Save_After" instance="YCompany\\Module\\Observer\\productSaveAfter" /> </event> 

另外,請確保您的觀察者正在工作,並且在其中創建文件的文件夾具有寫權限。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM