簡體   English   中英

如何動態獲取訂單明細?

[英]How to get order details dynamically?

我需要通過其ID從Magento檢索訂單。 如何按ID加載特定的訂單?

到目前為止,我已經嘗試過了:

<?php

$orderNumber = 145000013;
$order = Mage::getModel('sales/order')->loadByIncrementId($orderNumber);

// get order item collection
$orderItems = $order->getItemsCollection();

foreach ($orderItems as $item){

$product_id = $item->product_id;
$product_sku = $item->sku;
$product_name = $item->getName();
$_product = Mage::getModel('catalog/product')->load($product_id);
$cats = $_product->getCategoryIds();
$category_id = $cats[0]; 
$category = Mage::getModel('catalog/category')->load($category_id);
$category_name = $category->getName();

echo "orderNumber=".$orderNumber."<br/>";
echo "orderValue=".$orderValue."<br/>";
echo "product_name=".$product_name."<br/>";
echo "product_id=".$product_id."<br/>";
echo "product_sku=".$product_sku."<br/>";
echo "category_id=".$category_id."<br/>";
echo "category_name=".$category_name."<br/><br/>";

}
?>

它適用於靜態訂單...但是我想動態獲取。

首先,您需要創建一個表單,該表單發布到包含上述代碼的自定義控制器中

然后使用

$orderNumber = $this->getRequest()->getParams('field_name');;
$order = Mage::getModel('sales/order')->loadByIncrementId($orderNumber);

請參閱如何在magento中提交表單后如何獲取發布數據變量

為此,您需要執行以下步驟:

  1. 創建一個表單以搜索訂單詳細信息
  2. 您可以在所需位置添加自定義代碼。

然后,您需要在要顯示訂單詳細信息的URL上提交搜索表單。 必須有一個與表單提交的URL相關聯的模板文件。

在模板文件中,您可以使用上面指定的代碼。 但是,要使其動態化,需要使用以下方式獲取提交的訂單號:

$orderId = $this->getRequest()->getParam('search_orderid'); //search_orderid is name of search box

搜索表格:

<form id="orderSerchForm" method="post" action="<?php echo $this->getUrl('sales/order/history') ?>">
  <input type="text" name="search_order" id="search_order" placeholder="Enter Order ID" />
  <input type="submit" />
</form> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM