How do i get quantity in a product_save_after event observer magento2?
I have an observer that is observing catalog_product_save_after. In this observer I want to get the product quantity. but the cataloginventory_stock_item table is not updated until after the observer returns. Is there some way to find the quantity entered in the "quantity" Field for a brand new product?
magento2 product event-observer
add a comment |
I have an observer that is observing catalog_product_save_after. In this observer I want to get the product quantity. but the cataloginventory_stock_item table is not updated until after the observer returns. Is there some way to find the quantity entered in the "quantity" Field for a brand new product?
magento2 product event-observer
add a comment |
I have an observer that is observing catalog_product_save_after. In this observer I want to get the product quantity. but the cataloginventory_stock_item table is not updated until after the observer returns. Is there some way to find the quantity entered in the "quantity" Field for a brand new product?
magento2 product event-observer
I have an observer that is observing catalog_product_save_after. In this observer I want to get the product quantity. but the cataloginventory_stock_item table is not updated until after the observer returns. Is there some way to find the quantity entered in the "quantity" Field for a brand new product?
magento2 product event-observer
magento2 product event-observer
asked Jan 15 '18 at 18:40
BrandenB171BrandenB171
1063
1063
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
If you want to $productobj
after saving product from backend side so you can easily use catalog_product_save_after
event.
I am assuming that you already know how to create a module in M2
.
Right now you have to need develop new module for M2
Then Create this events.xml
file in below path
appcodeYOUR_NAMESPACEYOURMODULEetcadminhtml
<?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="catalog_product_save_after">
<observer name="test_name" instance="YOUR_NAMESPACEYOUR_MODULENAMEObserverProductsaveafter" />
</event>
</config>
And Create your observer file Productsaveafter.php
in below path
appcodeYOUR_NAMESPACEYOURMODULEObserver
<?php
namespace YOURNAMESPACEYOURMODULENAMEObserver;
use MagentoFrameworkEventObserverInterface;
class Productsaveafter implements ObserverInterface
{
public function execute(MagentoFrameworkEventObserver $observer)
{
$product = $observer->getEvent()->getProduct();
$id = $product->getId(); //Get Product Id
//Get Quantity
$stockItem = $product->getExtensionAttributes()->getStockItem();
$stockData = $stockItem->getQty();
// Get new Qty
$_vendor_qty = $product->getVendorQty();
$_on_hand_qty = $product->getOnHandQty();
$totalQty = $_vendor_qty+$_on_hand_qty; //Add New Qty
$stockItem->setQty($totalQty); //Set New Qty to Main Qty
$stockItem->save();
}
}
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f209547%2fhow-do-i-get-quantity-in-a-product-save-after-event-observer-magento2%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
If you want to $productobj
after saving product from backend side so you can easily use catalog_product_save_after
event.
I am assuming that you already know how to create a module in M2
.
Right now you have to need develop new module for M2
Then Create this events.xml
file in below path
appcodeYOUR_NAMESPACEYOURMODULEetcadminhtml
<?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="catalog_product_save_after">
<observer name="test_name" instance="YOUR_NAMESPACEYOUR_MODULENAMEObserverProductsaveafter" />
</event>
</config>
And Create your observer file Productsaveafter.php
in below path
appcodeYOUR_NAMESPACEYOURMODULEObserver
<?php
namespace YOURNAMESPACEYOURMODULENAMEObserver;
use MagentoFrameworkEventObserverInterface;
class Productsaveafter implements ObserverInterface
{
public function execute(MagentoFrameworkEventObserver $observer)
{
$product = $observer->getEvent()->getProduct();
$id = $product->getId(); //Get Product Id
//Get Quantity
$stockItem = $product->getExtensionAttributes()->getStockItem();
$stockData = $stockItem->getQty();
// Get new Qty
$_vendor_qty = $product->getVendorQty();
$_on_hand_qty = $product->getOnHandQty();
$totalQty = $_vendor_qty+$_on_hand_qty; //Add New Qty
$stockItem->setQty($totalQty); //Set New Qty to Main Qty
$stockItem->save();
}
}
add a comment |
If you want to $productobj
after saving product from backend side so you can easily use catalog_product_save_after
event.
I am assuming that you already know how to create a module in M2
.
Right now you have to need develop new module for M2
Then Create this events.xml
file in below path
appcodeYOUR_NAMESPACEYOURMODULEetcadminhtml
<?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="catalog_product_save_after">
<observer name="test_name" instance="YOUR_NAMESPACEYOUR_MODULENAMEObserverProductsaveafter" />
</event>
</config>
And Create your observer file Productsaveafter.php
in below path
appcodeYOUR_NAMESPACEYOURMODULEObserver
<?php
namespace YOURNAMESPACEYOURMODULENAMEObserver;
use MagentoFrameworkEventObserverInterface;
class Productsaveafter implements ObserverInterface
{
public function execute(MagentoFrameworkEventObserver $observer)
{
$product = $observer->getEvent()->getProduct();
$id = $product->getId(); //Get Product Id
//Get Quantity
$stockItem = $product->getExtensionAttributes()->getStockItem();
$stockData = $stockItem->getQty();
// Get new Qty
$_vendor_qty = $product->getVendorQty();
$_on_hand_qty = $product->getOnHandQty();
$totalQty = $_vendor_qty+$_on_hand_qty; //Add New Qty
$stockItem->setQty($totalQty); //Set New Qty to Main Qty
$stockItem->save();
}
}
add a comment |
If you want to $productobj
after saving product from backend side so you can easily use catalog_product_save_after
event.
I am assuming that you already know how to create a module in M2
.
Right now you have to need develop new module for M2
Then Create this events.xml
file in below path
appcodeYOUR_NAMESPACEYOURMODULEetcadminhtml
<?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="catalog_product_save_after">
<observer name="test_name" instance="YOUR_NAMESPACEYOUR_MODULENAMEObserverProductsaveafter" />
</event>
</config>
And Create your observer file Productsaveafter.php
in below path
appcodeYOUR_NAMESPACEYOURMODULEObserver
<?php
namespace YOURNAMESPACEYOURMODULENAMEObserver;
use MagentoFrameworkEventObserverInterface;
class Productsaveafter implements ObserverInterface
{
public function execute(MagentoFrameworkEventObserver $observer)
{
$product = $observer->getEvent()->getProduct();
$id = $product->getId(); //Get Product Id
//Get Quantity
$stockItem = $product->getExtensionAttributes()->getStockItem();
$stockData = $stockItem->getQty();
// Get new Qty
$_vendor_qty = $product->getVendorQty();
$_on_hand_qty = $product->getOnHandQty();
$totalQty = $_vendor_qty+$_on_hand_qty; //Add New Qty
$stockItem->setQty($totalQty); //Set New Qty to Main Qty
$stockItem->save();
}
}
If you want to $productobj
after saving product from backend side so you can easily use catalog_product_save_after
event.
I am assuming that you already know how to create a module in M2
.
Right now you have to need develop new module for M2
Then Create this events.xml
file in below path
appcodeYOUR_NAMESPACEYOURMODULEetcadminhtml
<?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="catalog_product_save_after">
<observer name="test_name" instance="YOUR_NAMESPACEYOUR_MODULENAMEObserverProductsaveafter" />
</event>
</config>
And Create your observer file Productsaveafter.php
in below path
appcodeYOUR_NAMESPACEYOURMODULEObserver
<?php
namespace YOURNAMESPACEYOURMODULENAMEObserver;
use MagentoFrameworkEventObserverInterface;
class Productsaveafter implements ObserverInterface
{
public function execute(MagentoFrameworkEventObserver $observer)
{
$product = $observer->getEvent()->getProduct();
$id = $product->getId(); //Get Product Id
//Get Quantity
$stockItem = $product->getExtensionAttributes()->getStockItem();
$stockData = $stockItem->getQty();
// Get new Qty
$_vendor_qty = $product->getVendorQty();
$_on_hand_qty = $product->getOnHandQty();
$totalQty = $_vendor_qty+$_on_hand_qty; //Add New Qty
$stockItem->setQty($totalQty); //Set New Qty to Main Qty
$stockItem->save();
}
}
answered Jan 12 at 6:50
AB SaiyadAB Saiyad
594
594
add a comment |
add a comment |
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f209547%2fhow-do-i-get-quantity-in-a-product-save-after-event-observer-magento2%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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