系统学习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获取订单信息。