Unable to get newly inserted Product's Id using After Plugin for Catalog Product save controller methodMagento 2.2.5: How to get product id after product saved using pluginHow to add a saveAndContinueEdit type button in admin view order?Plugin, get original function parameters in after methodMagento 2 add new Button in admin ControllerAdd an extension to edit the product name quickly in admin. Magento 2Magento 2: Add a product to the cart programmaticallyMagento 1.9 Save action for Catalog Product custom tabI have created one field using product form field for my price i want save my field value at product creation time from backend magento2Magento 2.2.5: How to get product id after product saved using pluginHow to clone/copy product in magento 2 properly wayMagento 2 plugin change price of products that have a custom attribute with

If I cast the Enlarge/Reduce spell on an arrow, what weapon could it count as?

Imaginary part of expression too difficult to calculate

What favor did Moody owe Dumbledore?

Do people actually use the word "kaputt" in conversation?

Are hand made posters acceptable in Academia?

Do native speakers use "ultima" and "proxima" frequently in spoken English?

Output visual diagram of picture

UK Tourist Visa- Enquiry

Why is this tree refusing to shed its dead leaves?

Have the tides ever turned twice on any open problem?

Single word to change groups

Why doesn't the fusion process of the sun speed up?

Have any astronauts/cosmonauts died in space?

What (if any) is the reason to buy in small local stores?

What are the consequences of changing the number of hours in a day?

Why I don't get the wanted width of tcbox?

Is this Pascal's Matrix?

is this saw blade faulty?

Hot air balloons as primitive bombers

PTIJ: Which Dr. Seuss books should one obtain?

How to understand 「僕は誰より彼女が好きなんだ。」

PTIJ: Why do we make a Lulav holder?

How old is Nick Fury?

Writing in a Christian voice



Unable to get newly inserted Product's Id using After Plugin for Catalog Product save controller method


Magento 2.2.5: How to get product id after product saved using pluginHow to add a saveAndContinueEdit type button in admin view order?Plugin, get original function parameters in after methodMagento 2 add new Button in admin ControllerAdd an extension to edit the product name quickly in admin. Magento 2Magento 2: Add a product to the cart programmaticallyMagento 1.9 Save action for Catalog Product custom tabI have created one field using product form field for my price i want save my field value at product creation time from backend magento2Magento 2.2.5: How to get product id after product saved using pluginHow to clone/copy product in magento 2 properly wayMagento 2 plugin change price of products that have a custom attribute with













1















I have created interceptor for catalog product controller's save action



<type name="MagentoCatalogControllerAdminhtmlProductSave">
<plugin name="ricky_catalog_save_product"
type="RickyCatalogPluginProductSave" sortOrder="10"
/>
</type>


My plugin class is below



namespace RickyCatalogPluginProduct; 

class Save
public function afterExecute(
MagentoCatalogControllerAdminhtmlProductSave $subject,
$result)

$productId = $subject->productId; // This is not working
/**
echo $result->getProduct->getId(); die("prodid");
echo $subject->getProduct->getId(); die("prodid");
Both throw exception: Undefined property $getProduct
**/

/** $productId is provided in excute method in Save class
in MagentoCatalogControllerAdminhtmlProductSave **/




For some reasons I have to use Plugin (Interceptor Design Pattern), I know I can get newly created prouduct id by using observer for catalog_product_save_after event. But please provide solution for plugins.



I am asking this after visiting This Solution



Thanks for help :)










share|improve this question
























  • Try this $subject->getProduct->getId(); @KapilDevSingh

    – Prathap Gunasekaran
    2 hours ago











  • I tried this, but its throws exception Undefined property: MagentoCatalogControllerAdminhtmlProductSaveInterceptor::$getProduct well thanks for response @PrathapGunasekaran

    – Kapil Dev Singh
    2 hours ago











  • use $result variable .

    – Anand Ontigeri
    2 hours ago











  • Thankyou for reply @AnandOntigeri, I have tried this one also but this also throws same exception.

    – Kapil Dev Singh
    2 hours ago











  • @PrathapGunasekaran , This also not worked, even it ended with FATAL ERROR Fatal error: Uncaught Error: Call to undefined method MagentoBackendModelViewResultRedirectInterceptor::getAllItems()

    – Kapil Dev Singh
    1 hour ago















1















I have created interceptor for catalog product controller's save action



<type name="MagentoCatalogControllerAdminhtmlProductSave">
<plugin name="ricky_catalog_save_product"
type="RickyCatalogPluginProductSave" sortOrder="10"
/>
</type>


My plugin class is below



namespace RickyCatalogPluginProduct; 

class Save
public function afterExecute(
MagentoCatalogControllerAdminhtmlProductSave $subject,
$result)

$productId = $subject->productId; // This is not working
/**
echo $result->getProduct->getId(); die("prodid");
echo $subject->getProduct->getId(); die("prodid");
Both throw exception: Undefined property $getProduct
**/

/** $productId is provided in excute method in Save class
in MagentoCatalogControllerAdminhtmlProductSave **/




For some reasons I have to use Plugin (Interceptor Design Pattern), I know I can get newly created prouduct id by using observer for catalog_product_save_after event. But please provide solution for plugins.



I am asking this after visiting This Solution



Thanks for help :)










share|improve this question
























  • Try this $subject->getProduct->getId(); @KapilDevSingh

    – Prathap Gunasekaran
    2 hours ago











  • I tried this, but its throws exception Undefined property: MagentoCatalogControllerAdminhtmlProductSaveInterceptor::$getProduct well thanks for response @PrathapGunasekaran

    – Kapil Dev Singh
    2 hours ago











  • use $result variable .

    – Anand Ontigeri
    2 hours ago











  • Thankyou for reply @AnandOntigeri, I have tried this one also but this also throws same exception.

    – Kapil Dev Singh
    2 hours ago











  • @PrathapGunasekaran , This also not worked, even it ended with FATAL ERROR Fatal error: Uncaught Error: Call to undefined method MagentoBackendModelViewResultRedirectInterceptor::getAllItems()

    – Kapil Dev Singh
    1 hour ago













1












1








1


1






I have created interceptor for catalog product controller's save action



<type name="MagentoCatalogControllerAdminhtmlProductSave">
<plugin name="ricky_catalog_save_product"
type="RickyCatalogPluginProductSave" sortOrder="10"
/>
</type>


My plugin class is below



namespace RickyCatalogPluginProduct; 

class Save
public function afterExecute(
MagentoCatalogControllerAdminhtmlProductSave $subject,
$result)

$productId = $subject->productId; // This is not working
/**
echo $result->getProduct->getId(); die("prodid");
echo $subject->getProduct->getId(); die("prodid");
Both throw exception: Undefined property $getProduct
**/

/** $productId is provided in excute method in Save class
in MagentoCatalogControllerAdminhtmlProductSave **/




For some reasons I have to use Plugin (Interceptor Design Pattern), I know I can get newly created prouduct id by using observer for catalog_product_save_after event. But please provide solution for plugins.



I am asking this after visiting This Solution



Thanks for help :)










share|improve this question
















I have created interceptor for catalog product controller's save action



<type name="MagentoCatalogControllerAdminhtmlProductSave">
<plugin name="ricky_catalog_save_product"
type="RickyCatalogPluginProductSave" sortOrder="10"
/>
</type>


My plugin class is below



namespace RickyCatalogPluginProduct; 

class Save
public function afterExecute(
MagentoCatalogControllerAdminhtmlProductSave $subject,
$result)

$productId = $subject->productId; // This is not working
/**
echo $result->getProduct->getId(); die("prodid");
echo $subject->getProduct->getId(); die("prodid");
Both throw exception: Undefined property $getProduct
**/

/** $productId is provided in excute method in Save class
in MagentoCatalogControllerAdminhtmlProductSave **/




For some reasons I have to use Plugin (Interceptor Design Pattern), I know I can get newly created prouduct id by using observer for catalog_product_save_after event. But please provide solution for plugins.



I am asking this after visiting This Solution



Thanks for help :)







product controllers magento2.3 interceptor after-plugin






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 2 hours ago







Kapil Dev Singh

















asked 2 hours ago









Kapil Dev SinghKapil Dev Singh

207




207












  • Try this $subject->getProduct->getId(); @KapilDevSingh

    – Prathap Gunasekaran
    2 hours ago











  • I tried this, but its throws exception Undefined property: MagentoCatalogControllerAdminhtmlProductSaveInterceptor::$getProduct well thanks for response @PrathapGunasekaran

    – Kapil Dev Singh
    2 hours ago











  • use $result variable .

    – Anand Ontigeri
    2 hours ago











  • Thankyou for reply @AnandOntigeri, I have tried this one also but this also throws same exception.

    – Kapil Dev Singh
    2 hours ago











  • @PrathapGunasekaran , This also not worked, even it ended with FATAL ERROR Fatal error: Uncaught Error: Call to undefined method MagentoBackendModelViewResultRedirectInterceptor::getAllItems()

    – Kapil Dev Singh
    1 hour ago

















  • Try this $subject->getProduct->getId(); @KapilDevSingh

    – Prathap Gunasekaran
    2 hours ago











  • I tried this, but its throws exception Undefined property: MagentoCatalogControllerAdminhtmlProductSaveInterceptor::$getProduct well thanks for response @PrathapGunasekaran

    – Kapil Dev Singh
    2 hours ago











  • use $result variable .

    – Anand Ontigeri
    2 hours ago











  • Thankyou for reply @AnandOntigeri, I have tried this one also but this also throws same exception.

    – Kapil Dev Singh
    2 hours ago











  • @PrathapGunasekaran , This also not worked, even it ended with FATAL ERROR Fatal error: Uncaught Error: Call to undefined method MagentoBackendModelViewResultRedirectInterceptor::getAllItems()

    – Kapil Dev Singh
    1 hour ago
















Try this $subject->getProduct->getId(); @KapilDevSingh

– Prathap Gunasekaran
2 hours ago





Try this $subject->getProduct->getId(); @KapilDevSingh

– Prathap Gunasekaran
2 hours ago













I tried this, but its throws exception Undefined property: MagentoCatalogControllerAdminhtmlProductSaveInterceptor::$getProduct well thanks for response @PrathapGunasekaran

– Kapil Dev Singh
2 hours ago





I tried this, but its throws exception Undefined property: MagentoCatalogControllerAdminhtmlProductSaveInterceptor::$getProduct well thanks for response @PrathapGunasekaran

– Kapil Dev Singh
2 hours ago













use $result variable .

– Anand Ontigeri
2 hours ago





use $result variable .

– Anand Ontigeri
2 hours ago













Thankyou for reply @AnandOntigeri, I have tried this one also but this also throws same exception.

– Kapil Dev Singh
2 hours ago





Thankyou for reply @AnandOntigeri, I have tried this one also but this also throws same exception.

– Kapil Dev Singh
2 hours ago













@PrathapGunasekaran , This also not worked, even it ended with FATAL ERROR Fatal error: Uncaught Error: Call to undefined method MagentoBackendModelViewResultRedirectInterceptor::getAllItems()

– Kapil Dev Singh
1 hour ago





@PrathapGunasekaran , This also not worked, even it ended with FATAL ERROR Fatal error: Uncaught Error: Call to undefined method MagentoBackendModelViewResultRedirectInterceptor::getAllItems()

– Kapil Dev Singh
1 hour ago










1 Answer
1






active

oldest

votes


















2














The variable $product is not accessible from outside the save method. The only exceptioon is the event controller_action_catalog_product_save_entity_after.
But the product builder puts the product into registry, so you may access the product from there.
This code should work in my opinion, but I didn't test it:



 public function __construct(
MagentoFrameworkRegistry $registry
)

$this->registry = $registry;


public function afterExecute(
MagentoCatalogControllerAdminhtmlProductSave $subject,
$result)

//get the product from registry
$product = $this->registry->registry('current_product');
$productId = $product->getId();

return $result;






share|improve this answer























  • You didn't tested but I applied, It works like a charm. ThankYou. So basically if we want to pass variables from save (Controller) to outside then we can use registry.

    – Kapil Dev Singh
    1 hour ago






  • 1





    @helgeb Registry is deprecated in magento 2.3, Should not be used github.com/magento/magento2/blob/…

    – Vishwas Bhatnagar
    1 hour ago






  • 1





    @VishwasBhatnagar yes, I know, but it is the only way I see to access the product using a plugin. I would rather use the event but the question was about the plugin usage

    – HelgeB
    1 hour ago










Your Answer








StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "479"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f266434%2funable-to-get-newly-inserted-products-id-using-after-plugin-for-catalog-product%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









2














The variable $product is not accessible from outside the save method. The only exceptioon is the event controller_action_catalog_product_save_entity_after.
But the product builder puts the product into registry, so you may access the product from there.
This code should work in my opinion, but I didn't test it:



 public function __construct(
MagentoFrameworkRegistry $registry
)

$this->registry = $registry;


public function afterExecute(
MagentoCatalogControllerAdminhtmlProductSave $subject,
$result)

//get the product from registry
$product = $this->registry->registry('current_product');
$productId = $product->getId();

return $result;






share|improve this answer























  • You didn't tested but I applied, It works like a charm. ThankYou. So basically if we want to pass variables from save (Controller) to outside then we can use registry.

    – Kapil Dev Singh
    1 hour ago






  • 1





    @helgeb Registry is deprecated in magento 2.3, Should not be used github.com/magento/magento2/blob/…

    – Vishwas Bhatnagar
    1 hour ago






  • 1





    @VishwasBhatnagar yes, I know, but it is the only way I see to access the product using a plugin. I would rather use the event but the question was about the plugin usage

    – HelgeB
    1 hour ago















2














The variable $product is not accessible from outside the save method. The only exceptioon is the event controller_action_catalog_product_save_entity_after.
But the product builder puts the product into registry, so you may access the product from there.
This code should work in my opinion, but I didn't test it:



 public function __construct(
MagentoFrameworkRegistry $registry
)

$this->registry = $registry;


public function afterExecute(
MagentoCatalogControllerAdminhtmlProductSave $subject,
$result)

//get the product from registry
$product = $this->registry->registry('current_product');
$productId = $product->getId();

return $result;






share|improve this answer























  • You didn't tested but I applied, It works like a charm. ThankYou. So basically if we want to pass variables from save (Controller) to outside then we can use registry.

    – Kapil Dev Singh
    1 hour ago






  • 1





    @helgeb Registry is deprecated in magento 2.3, Should not be used github.com/magento/magento2/blob/…

    – Vishwas Bhatnagar
    1 hour ago






  • 1





    @VishwasBhatnagar yes, I know, but it is the only way I see to access the product using a plugin. I would rather use the event but the question was about the plugin usage

    – HelgeB
    1 hour ago













2












2








2







The variable $product is not accessible from outside the save method. The only exceptioon is the event controller_action_catalog_product_save_entity_after.
But the product builder puts the product into registry, so you may access the product from there.
This code should work in my opinion, but I didn't test it:



 public function __construct(
MagentoFrameworkRegistry $registry
)

$this->registry = $registry;


public function afterExecute(
MagentoCatalogControllerAdminhtmlProductSave $subject,
$result)

//get the product from registry
$product = $this->registry->registry('current_product');
$productId = $product->getId();

return $result;






share|improve this answer













The variable $product is not accessible from outside the save method. The only exceptioon is the event controller_action_catalog_product_save_entity_after.
But the product builder puts the product into registry, so you may access the product from there.
This code should work in my opinion, but I didn't test it:



 public function __construct(
MagentoFrameworkRegistry $registry
)

$this->registry = $registry;


public function afterExecute(
MagentoCatalogControllerAdminhtmlProductSave $subject,
$result)

//get the product from registry
$product = $this->registry->registry('current_product');
$productId = $product->getId();

return $result;







share|improve this answer












share|improve this answer



share|improve this answer










answered 1 hour ago









HelgeBHelgeB

2,6131320




2,6131320












  • You didn't tested but I applied, It works like a charm. ThankYou. So basically if we want to pass variables from save (Controller) to outside then we can use registry.

    – Kapil Dev Singh
    1 hour ago






  • 1





    @helgeb Registry is deprecated in magento 2.3, Should not be used github.com/magento/magento2/blob/…

    – Vishwas Bhatnagar
    1 hour ago






  • 1





    @VishwasBhatnagar yes, I know, but it is the only way I see to access the product using a plugin. I would rather use the event but the question was about the plugin usage

    – HelgeB
    1 hour ago

















  • You didn't tested but I applied, It works like a charm. ThankYou. So basically if we want to pass variables from save (Controller) to outside then we can use registry.

    – Kapil Dev Singh
    1 hour ago






  • 1





    @helgeb Registry is deprecated in magento 2.3, Should not be used github.com/magento/magento2/blob/…

    – Vishwas Bhatnagar
    1 hour ago






  • 1





    @VishwasBhatnagar yes, I know, but it is the only way I see to access the product using a plugin. I would rather use the event but the question was about the plugin usage

    – HelgeB
    1 hour ago
















You didn't tested but I applied, It works like a charm. ThankYou. So basically if we want to pass variables from save (Controller) to outside then we can use registry.

– Kapil Dev Singh
1 hour ago





You didn't tested but I applied, It works like a charm. ThankYou. So basically if we want to pass variables from save (Controller) to outside then we can use registry.

– Kapil Dev Singh
1 hour ago




1




1





@helgeb Registry is deprecated in magento 2.3, Should not be used github.com/magento/magento2/blob/…

– Vishwas Bhatnagar
1 hour ago





@helgeb Registry is deprecated in magento 2.3, Should not be used github.com/magento/magento2/blob/…

– Vishwas Bhatnagar
1 hour ago




1




1





@VishwasBhatnagar yes, I know, but it is the only way I see to access the product using a plugin. I would rather use the event but the question was about the plugin usage

– HelgeB
1 hour ago





@VishwasBhatnagar yes, I know, but it is the only way I see to access the product using a plugin. I would rather use the event but the question was about the plugin usage

– HelgeB
1 hour ago

















draft saved

draft discarded
















































Thanks for contributing an answer to Magento Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f266434%2funable-to-get-newly-inserted-products-id-using-after-plugin-for-catalog-product%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

名間水力發電廠 目录 沿革 設施 鄰近設施 註釋 外部連結 导航菜单23°50′10″N 120°42′41″E / 23.83611°N 120.71139°E / 23.83611; 120.7113923°50′10″N 120°42′41″E / 23.83611°N 120.71139°E / 23.83611; 120.71139計畫概要原始内容臺灣第一座BOT 模式開發的水力發電廠-名間水力電廠名間水力發電廠 水利署首件BOT案原始内容《小檔案》名間電廠 首座BOT水力發電廠原始内容名間電廠BOT - 經濟部水利署中區水資源局

Prove that NP is closed under karp reduction?Space(n) not closed under Karp reductions - what about NTime(n)?Class P is closed under rotation?Prove or disprove that $NL$ is closed under polynomial many-one reductions$mathbfNC_2$ is closed under log-space reductionOn Karp reductionwhen can I know if a class (complexity) is closed under reduction (cook/karp)Check if class $PSPACE$ is closed under polyonomially space reductionIs NPSPACE also closed under polynomial-time reduction and under log-space reduction?Prove PSPACE is closed under complement?Prove PSPACE is closed under union?

Is my guitar’s action too high? Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern)Strings too stiff on a recently purchased acoustic guitar | Cort AD880CEIs the action of my guitar really high?Μy little finger is too weak to play guitarWith guitar, how long should I give my fingers to strengthen / callous?When playing a fret the guitar sounds mutedPlaying (Barre) chords up the guitar neckI think my guitar strings are wound too tight and I can't play barre chordsF barre chord on an SG guitarHow to find to the right strings of a barre chord by feel?High action on higher fret on my steel acoustic guitar