在magento中通过订单ID获取订单详细信息[重复]
-
12-12-2019 - |
题
我正在尝试通过代码中的订单 ID 获取订单详细信息。为此,我创建了一个 php 文件并将该文件复制到 public_html 中的文件夹中。这是我的代码:
<?php
error_reporting( E_ALL );
require_once "lib/nusoap.php";
require_once "../app/Mage.php";
try {
$order = Mage::getModel('sales/order')->load('100000234');
$orderData = $order->getData();
print_r($orderData);
} catch (Exception $e) {
echo 'Caught exception: ', $e->getMessage(), "\n";
}
?>
但是当我运行这段代码时,它向我显示“什么也没有”!
我尝试过了 var_dump($order)
, ,但它也没有显示任何内容,也没有错误!
任何人都可以帮助我获取订单详细信息并显示它吗?
谢谢
解决方案
有具体的 loadByIncrementId
使用增量 id 进行加载的函数。
$order = Mage::getModel('sales/order')->loadByIncrementId('100000234');
然而我不相信你正确地引导 Magento,这可以解释为什么你不一定能得到你想要的东西。同时包括 app/Mage.php
将使您能够访问 Mage 类,它实际上不会引导 Magento。您需要初始化应用程序,如下所示:
<?php
error_reporting( E_ALL );
require_once "lib/nusoap.php";
require_once "../app/Mage.php";
Mage::app('admin');
try {
$order = Mage::getModel('sales/order')->loadByIncrementId('100000234');
print_r($order->debug());
} catch (Exception $e) {
echo 'Caught exception: ', $e->getMessage(), "\n";
}
其他提示
您使用的数字是increment_id
在 magento 中,您有序列 inctement_id,它是可见的订单 id。
magento内部使用entity_id,它用于链接数据。
->load 默认使用entity_id。
如果您将代码更改为
$order = Mage::getModel('销售/订单')->load($incrementId, 'increment_id');
您应该加载订单。