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