একটি পণ্য সংরক্ষণ ইভেন্ট অনুসরণ করে আমি ম্যাজেন্টো 2 এর মধ্যে পণ্যটি অ্যাক্সেস করার চেষ্টা করছি।
আমি শ্রোতাদের উপর কনফিগার করেছি:
controller_action_catalog_product_save_entity_after
এক্সএমএল নীচে হিসাবে দেখায়:
<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="wire_products_update" instance="TBS\WireProductsHook\Observer\WireProductsUpdate" />
</event>
</config>
এরপরে পর্যবেক্ষক শ্রেণিকে ডাকা হয় যখন কোনও পণ্য সংরক্ষণ করা হয় তবে আমি যে পণ্যটি সংরক্ষণ করা হয়েছিল সেগুলি কীভাবে অ্যাক্সেস করবেন সে সম্পর্কে কোনও তথ্য পাই না। পর্যবেক্ষক শ্রেণি নিম্নরূপ:
<?php
/**
* Copyright © 2015 Magento. All rights reserved.
* See COPYING.txt for license details.
*/
namespace TBS\WireProductsHook\Observer;
use Magento\Framework\Event\ObserverInterface;
class WireProductsUpdate implements ObserverInterface {
public function execute( \Magento\Framework\Event\Observer $observer ) {
// echos name of event: controller_action_catalog_product_save_entity_after
echo 'name of event: ' . $observer->getEvent()->getName();
// tried using the same method as the save class: <magento>/module-catalog/Controller/Adminhtml/Product/Save.php on line 76
$controller = $observer->getData('controller');
// Fails: Fatal error: Cannot access protected property ...
$product = $controller->initializationHelper->initialize($controller->productBuilder->build($controller->getRequest()));
}
}
/ মডুলেট - ক্যাটাগল / নিয়ন্ত্রণকারী / অ্যাডমিনিটিএমটিএল / প্রোডাক্ট / সেভ.এফপি-র মধ্যে ইভেন্টটি 114 লাইনে চালিত হয়:
$this->_eventManager->dispatch(
'controller_action_catalog_product_save_entity_after',
['controller' => $this]
);
এটি আর্গুমেন্ট হিসাবে নিয়ামককে পাস করে। তবে আমি কীভাবে পণ্যটি অ্যাক্সেস করতে পারি তা নিশ্চিত am
আমি পণ্য স্কু পেতে চাই