如何在Magento 2中使用after插件(拦截器)时获取新创建的产品id

如何在Magento 2中使用after插件(拦截器)时获取新创建的产品id,magento,plugins,magento2,interceptor,magento-2.3,Magento,Plugins,Magento2,Interceptor,Magento 2.3,我已经为catalog product controller的保存操作创建了拦截器 <type name="Magento\Catalog\Controller\Adminhtml\Product\Save"> <plugin name="ricky_catalog_save_product" type="Ricky\Catalog\Plugin\Product\Save" sortOrder="10" /> </type&g

我已经为catalog product controller的保存操作创建了拦截器

<type name="Magento\Catalog\Controller\Adminhtml\Product\Save">
    <plugin name="ricky_catalog_save_product"
            type="Ricky\Catalog\Plugin\Product\Save" sortOrder="10"
    />
</type>
由于某些原因,我不得不使用Plugin(拦截器设计模式),我知道我可以在事件发生后使用observer For catalog\u product\u save\u获得新创建的产品id。但请为插件提供解决方案


感谢您的帮助:)

如果您正在访问属性$subject->productId,这意味着它应该在类中定义

\Magento\Catalog\Controller\Adminhtml\Product\Save.
没有使用名称productId定义的类变量

您可以覆盖控制器并定义一个以上的公共类变量

public $productId;
并在execute()方法中的某个位置分配产品id:-

现在在您的插件中,将其用作:-

$subject->productId

测试和工作

如果您正在访问属性$subject->productId,这意味着应该在类中定义它

\Magento\Catalog\Controller\Adminhtml\Product\Save.
没有使用名称productId定义的类变量

您可以覆盖控制器并定义一个以上的公共类变量

public $productId;
并在execute()方法中的某个位置分配产品id:-

现在在您的插件中,将其用作:-

$subject->productId

测试和工作

您可以通过这种方式获取产品Id

$productId = $subject->getRequest()->getParam('id');

希望这有帮助!!快乐编码

您可以通过这种方式获取产品Id

$productId = $subject->getRequest()->getParam('id');
希望这有帮助!!快乐编码