Вот мои коды. Когда я пытался сохранить товар, файл 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>
Также убедитесь, что ваш наблюдатель работает и папка, в которой создается файл, имеет разрешение на запись.