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 には、表示される注文 ID である連続した inctement_id があります。
magento は内部的に、データをリンクするために使用されるentity_idを使用します。
->load はデフォルトでentity_idを使用します。
コードを次のように変更すると、
$order = Mage::getModel('sales/order')->load($incrementId, 'increment_id');
注文が読み込まれるはずです。
所属していません magento.stackexchange