How to get order event after placing order using observer in admin side?How can i rewrite TierPrice Block in...
How much of data wrangling is a data scientist's job?
What exploit Are these user agents trying to use?
Can we compute the area of a quadrilateral with one right angle when we only know the lengths of any three sides?
If human space travel is limited by the G force vulnerability, is there a way to counter G forces?
What killed these X2 caps?
Personal Teleportation: From Rags to Riches
Could the museum Saturn V's be refitted for one more flight?
Why is this clock signal connected to a capacitor to gnd?
Why is it a bad idea to hire a hitman to eliminate most corrupt politicians?
What does “the session was packed” mean in this context?
Can I run a new neutral wire to repair a broken circuit?
What about the virus in 12 Monkeys?
Why didn't Miles's spider sense work before?
Unlock My Phone! February 2018
Am I breaking OOP practice with this architecture?
Do UK voters know if their MP will be the Speaker of the House?
Avoiding the "not like other girls" trope?
What mechanic is there to disable a threat instead of killing it?
Apex Framework / library for consuming REST services
Assassin's bullet with mercury
How would I stat a creature to be immune to everything but the Magic Missile spell? (just for fun)
Is "remove commented out code" correct English?
What is the most common color to indicate the input-field is disabled?
Short story with a alien planet, government officials must wear exploding medallions
How to get order event after placing order using observer in admin side?
How can i rewrite TierPrice Block in Magento2magento 2 captcha not rendering if I override layout xmlmain.CRITICAL: Plugin class doesn't existSet custom price of product when adding to cart code not workingMagento 2 : Problem while adding custom button order view page?Get order in observer after placing orderLeft join order grid collection using observer method. Magento 1.9Magento 2.2.5: Overriding Admin Controller sales/orderI 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: Add, Update and Delete existing products Custom Options
i want to get the order event and want to use the order object data , tried this but something is missing, here is what i tried
and how can i use this data in my helper/block class or controller action?
etc/adminhtml/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="test_order">
<observer name="afterOrderObserver" instance="VendorModuleObserverOrder"/>
</event>
</config>
Observer/TestOrder.php
<?php
namespace VendorModuleModelObserver;
use MagentoFrameworkEventObserverInterface;
class TestOrder implements ObserverInterface
{
/**
* Order Model
*
* @var MagentoSalesModelOrder $order
*/
protected $order;
public function __construct(
MagentoSalesModelOrder $order
)
{
$this->order = $order;
}
public function execute(MagentoFrameworkEventObserver $observer)
{
$orderId = $observer->getEvent()->getOrderIds();
$order = $this->order->load($orderId);
//get Order All Item
$itemCollection = $order->getItemsCollection();
$customer = $order->getCustomerId(); // using this id you can get customer name
}
}
magento2 orders event-observer
add a comment |
i want to get the order event and want to use the order object data , tried this but something is missing, here is what i tried
and how can i use this data in my helper/block class or controller action?
etc/adminhtml/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="test_order">
<observer name="afterOrderObserver" instance="VendorModuleObserverOrder"/>
</event>
</config>
Observer/TestOrder.php
<?php
namespace VendorModuleModelObserver;
use MagentoFrameworkEventObserverInterface;
class TestOrder implements ObserverInterface
{
/**
* Order Model
*
* @var MagentoSalesModelOrder $order
*/
protected $order;
public function __construct(
MagentoSalesModelOrder $order
)
{
$this->order = $order;
}
public function execute(MagentoFrameworkEventObserver $observer)
{
$orderId = $observer->getEvent()->getOrderIds();
$order = $this->order->load($orderId);
//get Order All Item
$itemCollection = $order->getItemsCollection();
$customer = $order->getCustomerId(); // using this id you can get customer name
}
}
magento2 orders event-observer
add a comment |
i want to get the order event and want to use the order object data , tried this but something is missing, here is what i tried
and how can i use this data in my helper/block class or controller action?
etc/adminhtml/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="test_order">
<observer name="afterOrderObserver" instance="VendorModuleObserverOrder"/>
</event>
</config>
Observer/TestOrder.php
<?php
namespace VendorModuleModelObserver;
use MagentoFrameworkEventObserverInterface;
class TestOrder implements ObserverInterface
{
/**
* Order Model
*
* @var MagentoSalesModelOrder $order
*/
protected $order;
public function __construct(
MagentoSalesModelOrder $order
)
{
$this->order = $order;
}
public function execute(MagentoFrameworkEventObserver $observer)
{
$orderId = $observer->getEvent()->getOrderIds();
$order = $this->order->load($orderId);
//get Order All Item
$itemCollection = $order->getItemsCollection();
$customer = $order->getCustomerId(); // using this id you can get customer name
}
}
magento2 orders event-observer
i want to get the order event and want to use the order object data , tried this but something is missing, here is what i tried
and how can i use this data in my helper/block class or controller action?
etc/adminhtml/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="test_order">
<observer name="afterOrderObserver" instance="VendorModuleObserverOrder"/>
</event>
</config>
Observer/TestOrder.php
<?php
namespace VendorModuleModelObserver;
use MagentoFrameworkEventObserverInterface;
class TestOrder implements ObserverInterface
{
/**
* Order Model
*
* @var MagentoSalesModelOrder $order
*/
protected $order;
public function __construct(
MagentoSalesModelOrder $order
)
{
$this->order = $order;
}
public function execute(MagentoFrameworkEventObserver $observer)
{
$orderId = $observer->getEvent()->getOrderIds();
$order = $this->order->load($orderId);
//get Order All Item
$itemCollection = $order->getItemsCollection();
$customer = $order->getCustomerId(); // using this id you can get customer name
}
}
magento2 orders event-observer
magento2 orders event-observer
edited Nov 12 '18 at 9:11
PY Yick
1,795821
1,795821
asked Nov 12 '18 at 8:09
sheraz khansheraz khan
17011
17011
add a comment |
add a comment |
3 Answers
3
active
oldest
votes
Please modify your code like below
<?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="sales_order_place_after">
<observer name="order_data" instance="VendorModuleObserverOrderData" />
</event>
</config>
OrderData.php
class OrderData implements MagentoFrameworkEventObserverInterface
{
public function execute(MagentoFrameworkEventObserver $observer)
{
$order = $observer->getEvent()->getOrder();
echo $order->getId();
exit;
}
}
make sure you place events.xml under etc/adminhtml let me know if any help needed.
thanks for pointing out the mistake,one another mistake of namespace, namespace should be namespace VendorModuleObserver; instead of VendorModuleModelObserver;
– sheraz khan
Nov 12 '18 at 9:33
add a comment |
Event name tag indicates the name of the event you want to observe
In your case you'd take a look at vendor/magento/module-sales/Model/Order.php class, in concrete place()
method. You'll see 2 events fired there
public function place()
{
$this->_eventManager->dispatch('sales_order_place_before', ['order' => $this]);
$this->_placePayment();
$this->_eventManager->dispatch('sales_order_place_after', ['order' => $this]);
return $this;
}
If you want to run your code after order has been placed, then you should change
<event name="test_order">
And use
<event name="sales_order_place_after">
Note that the object attached to this event is $order
, you should be able to access it in your observer using
$order = $observer->getEvent()->getOrder();
add a comment |
I'm finding that and Observer for sales_order_place_after and code -
$order = $observer->getEvent()->getOrder();
$orderID = $order->getId();
Returns a null orderID, although the event does return an order.
As per the rules of the Observer, the Event.xml goes into neither the frontend nor the adminhtml directories since this event is fired from both areas. I did (just for fun)try placing the event in adminhtml but it didn't trigger the observer.
I'm thinking that the orderid is not yet assigned at this point, as It's not the call to ->orderId(), sine in the debugger the order object itself has a null orderid.
Anyone else run into this timing issue?
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%2f249687%2fhow-to-get-order-event-after-placing-order-using-observer-in-admin-side%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
Please modify your code like below
<?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="sales_order_place_after">
<observer name="order_data" instance="VendorModuleObserverOrderData" />
</event>
</config>
OrderData.php
class OrderData implements MagentoFrameworkEventObserverInterface
{
public function execute(MagentoFrameworkEventObserver $observer)
{
$order = $observer->getEvent()->getOrder();
echo $order->getId();
exit;
}
}
make sure you place events.xml under etc/adminhtml let me know if any help needed.
thanks for pointing out the mistake,one another mistake of namespace, namespace should be namespace VendorModuleObserver; instead of VendorModuleModelObserver;
– sheraz khan
Nov 12 '18 at 9:33
add a comment |
Please modify your code like below
<?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="sales_order_place_after">
<observer name="order_data" instance="VendorModuleObserverOrderData" />
</event>
</config>
OrderData.php
class OrderData implements MagentoFrameworkEventObserverInterface
{
public function execute(MagentoFrameworkEventObserver $observer)
{
$order = $observer->getEvent()->getOrder();
echo $order->getId();
exit;
}
}
make sure you place events.xml under etc/adminhtml let me know if any help needed.
thanks for pointing out the mistake,one another mistake of namespace, namespace should be namespace VendorModuleObserver; instead of VendorModuleModelObserver;
– sheraz khan
Nov 12 '18 at 9:33
add a comment |
Please modify your code like below
<?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="sales_order_place_after">
<observer name="order_data" instance="VendorModuleObserverOrderData" />
</event>
</config>
OrderData.php
class OrderData implements MagentoFrameworkEventObserverInterface
{
public function execute(MagentoFrameworkEventObserver $observer)
{
$order = $observer->getEvent()->getOrder();
echo $order->getId();
exit;
}
}
make sure you place events.xml under etc/adminhtml let me know if any help needed.
Please modify your code like below
<?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="sales_order_place_after">
<observer name="order_data" instance="VendorModuleObserverOrderData" />
</event>
</config>
OrderData.php
class OrderData implements MagentoFrameworkEventObserverInterface
{
public function execute(MagentoFrameworkEventObserver $observer)
{
$order = $observer->getEvent()->getOrder();
echo $order->getId();
exit;
}
}
make sure you place events.xml under etc/adminhtml let me know if any help needed.
answered Nov 12 '18 at 9:12
Ramkishan SutharRamkishan Suthar
2,28721435
2,28721435
thanks for pointing out the mistake,one another mistake of namespace, namespace should be namespace VendorModuleObserver; instead of VendorModuleModelObserver;
– sheraz khan
Nov 12 '18 at 9:33
add a comment |
thanks for pointing out the mistake,one another mistake of namespace, namespace should be namespace VendorModuleObserver; instead of VendorModuleModelObserver;
– sheraz khan
Nov 12 '18 at 9:33
thanks for pointing out the mistake,one another mistake of namespace, namespace should be namespace VendorModuleObserver; instead of VendorModuleModelObserver;
– sheraz khan
Nov 12 '18 at 9:33
thanks for pointing out the mistake,one another mistake of namespace, namespace should be namespace VendorModuleObserver; instead of VendorModuleModelObserver;
– sheraz khan
Nov 12 '18 at 9:33
add a comment |
Event name tag indicates the name of the event you want to observe
In your case you'd take a look at vendor/magento/module-sales/Model/Order.php class, in concrete place()
method. You'll see 2 events fired there
public function place()
{
$this->_eventManager->dispatch('sales_order_place_before', ['order' => $this]);
$this->_placePayment();
$this->_eventManager->dispatch('sales_order_place_after', ['order' => $this]);
return $this;
}
If you want to run your code after order has been placed, then you should change
<event name="test_order">
And use
<event name="sales_order_place_after">
Note that the object attached to this event is $order
, you should be able to access it in your observer using
$order = $observer->getEvent()->getOrder();
add a comment |
Event name tag indicates the name of the event you want to observe
In your case you'd take a look at vendor/magento/module-sales/Model/Order.php class, in concrete place()
method. You'll see 2 events fired there
public function place()
{
$this->_eventManager->dispatch('sales_order_place_before', ['order' => $this]);
$this->_placePayment();
$this->_eventManager->dispatch('sales_order_place_after', ['order' => $this]);
return $this;
}
If you want to run your code after order has been placed, then you should change
<event name="test_order">
And use
<event name="sales_order_place_after">
Note that the object attached to this event is $order
, you should be able to access it in your observer using
$order = $observer->getEvent()->getOrder();
add a comment |
Event name tag indicates the name of the event you want to observe
In your case you'd take a look at vendor/magento/module-sales/Model/Order.php class, in concrete place()
method. You'll see 2 events fired there
public function place()
{
$this->_eventManager->dispatch('sales_order_place_before', ['order' => $this]);
$this->_placePayment();
$this->_eventManager->dispatch('sales_order_place_after', ['order' => $this]);
return $this;
}
If you want to run your code after order has been placed, then you should change
<event name="test_order">
And use
<event name="sales_order_place_after">
Note that the object attached to this event is $order
, you should be able to access it in your observer using
$order = $observer->getEvent()->getOrder();
Event name tag indicates the name of the event you want to observe
In your case you'd take a look at vendor/magento/module-sales/Model/Order.php class, in concrete place()
method. You'll see 2 events fired there
public function place()
{
$this->_eventManager->dispatch('sales_order_place_before', ['order' => $this]);
$this->_placePayment();
$this->_eventManager->dispatch('sales_order_place_after', ['order' => $this]);
return $this;
}
If you want to run your code after order has been placed, then you should change
<event name="test_order">
And use
<event name="sales_order_place_after">
Note that the object attached to this event is $order
, you should be able to access it in your observer using
$order = $observer->getEvent()->getOrder();
answered Nov 12 '18 at 8:43
Raul SanchezRaul Sanchez
2,16031335
2,16031335
add a comment |
add a comment |
I'm finding that and Observer for sales_order_place_after and code -
$order = $observer->getEvent()->getOrder();
$orderID = $order->getId();
Returns a null orderID, although the event does return an order.
As per the rules of the Observer, the Event.xml goes into neither the frontend nor the adminhtml directories since this event is fired from both areas. I did (just for fun)try placing the event in adminhtml but it didn't trigger the observer.
I'm thinking that the orderid is not yet assigned at this point, as It's not the call to ->orderId(), sine in the debugger the order object itself has a null orderid.
Anyone else run into this timing issue?
add a comment |
I'm finding that and Observer for sales_order_place_after and code -
$order = $observer->getEvent()->getOrder();
$orderID = $order->getId();
Returns a null orderID, although the event does return an order.
As per the rules of the Observer, the Event.xml goes into neither the frontend nor the adminhtml directories since this event is fired from both areas. I did (just for fun)try placing the event in adminhtml but it didn't trigger the observer.
I'm thinking that the orderid is not yet assigned at this point, as It's not the call to ->orderId(), sine in the debugger the order object itself has a null orderid.
Anyone else run into this timing issue?
add a comment |
I'm finding that and Observer for sales_order_place_after and code -
$order = $observer->getEvent()->getOrder();
$orderID = $order->getId();
Returns a null orderID, although the event does return an order.
As per the rules of the Observer, the Event.xml goes into neither the frontend nor the adminhtml directories since this event is fired from both areas. I did (just for fun)try placing the event in adminhtml but it didn't trigger the observer.
I'm thinking that the orderid is not yet assigned at this point, as It's not the call to ->orderId(), sine in the debugger the order object itself has a null orderid.
Anyone else run into this timing issue?
I'm finding that and Observer for sales_order_place_after and code -
$order = $observer->getEvent()->getOrder();
$orderID = $order->getId();
Returns a null orderID, although the event does return an order.
As per the rules of the Observer, the Event.xml goes into neither the frontend nor the adminhtml directories since this event is fired from both areas. I did (just for fun)try placing the event in adminhtml but it didn't trigger the observer.
I'm thinking that the orderid is not yet assigned at this point, as It's not the call to ->orderId(), sine in the debugger the order object itself has a null orderid.
Anyone else run into this timing issue?
answered 6 mins ago
Phil SchmidtPhil Schmidt
111
111
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%2f249687%2fhow-to-get-order-event-after-placing-order-using-observer-in-admin-side%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