当前位置: 技术文章>> 如何在Magento 2中以编程方式按订单ID获取订单数据

文章标题:如何在Magento 2中以编程方式按订单ID获取订单数据
  • 文章分类: Magento
  • 15802 阅读
系统学习magento二次开发,推荐小册:《Magento中文全栈二次开发 》

本小册面向Magento2以上版本,书代码及示例兼容magento2.0-2.4版本。涵盖了magento前端开发,后端开发,magento2主题,magento2重写,magento2 layout,magento2控制器,magento2 block等相关内容,带领您成为magento开发技术专家。


在Magento 2中以编程方式按订单ID获取订单数据的步骤:

第 1 步:在以下路径的 Magento 根目录中创建一个文件

magento_root_directory\getorderdata.php

然后添加以下代码片段

<?php
 
use Magento\Framework\App\Bootstrap;
ini_set('display_errors', TRUE); 
ini_set('display_startup_errors', TRUE);
 
require __DIR__ . '/../app/bootstrap.php';
 
$params = $_SERVER;
 
$bootstrap = Bootstrap::create(BP, $params);
 
$objectManager = $bootstrap->getObjectManager();
 
$state = $objectManager->get('Magento\Framework\App\State');
$state->setAreaCode('frontend');
$registry = $objectManager->get('Magento\Framework\Registry');
 
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
 
$orderId=1; //Your Order Id
 
$order = $objectManager->create('\Magento\Sales\Model\OrderRepository')->get($orderId);
 
echo "<br>-----Your Order Data-----<br>"; 
echo "<br> Entity Id : ".$order->getEntityId(); 
echo "<br> Increment Id : ".$order->getIncrementId(); 
echo "<br> State : ".$order->getState(); 
echo "<br> Status : ".$order->getStatus(); 
echo "<br> StoreId : ".$order->getStoreId(); 
echo "<br> Subtotal : ".$order->getSubtotal();
echo "<br> GrandTotal : ".$order->getGrandTotal();
echo "<br> TotalQtyOrdered : ".$order->getTotalQtyOrdered(); 
echo "<br> OrderCurrencyCode : ".$order->getOrderCurrencyCode(); 
echo "<br>-----Your Customer Data-----<br>"; 
echo "<br> Customer First Name : ".$order->getCustomerFirstname(); 
echo "<br> Customer Last Name : ".$order->getCustomerLastname(); 
echo "<br>-----Your Billing Address Data-----<br>";
echo "<pre>";
print_r($order->getBillingAddress()->getData());echo '<br>';
echo "</pre>";
echo "<br>-----Your Shipping Address Data-----<br>"; 
echo "<pre>";
print_r($order->getShippingAddress()->getData());
echo "</pre>";
 
?>

结论:

因此,使用上述方法,您可以使用Magento 2中的订单ID检索订单信息。或者,当您需要Magento之外的订单信息时,您可以使用Magento 2中的SOAP API获取订单信息。


推荐文章