如何动态获取订单详情?
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/>";
}
?>
它适用于静态订单...但我想获得动态订单。
为此,您需要执行以下步骤:
- 创建用于搜索订单详细信息的表单
- 您可以在所需位置添加自定义代码。
然后您需要在 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>
首先,您需要创建一个表单,post 到包含上述代码的自定义控制器
然后使用
更新您的代码
$orderNumber = $this->getRequest()->getParams('field_name');;
$order = Mage::getModel('sales/order')->loadByIncrementId($orderNumber);
看到这个How to get post data variables after submition a form in magento
我需要通过 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/>";
}
?>
它适用于静态订单...但我想获得动态订单。
为此,您需要执行以下步骤:
- 创建用于搜索订单详细信息的表单
- 您可以在所需位置添加自定义代码。
然后您需要在 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>
首先,您需要创建一个表单,post 到包含上述代码的自定义控制器
然后使用
更新您的代码$orderNumber = $this->getRequest()->getParams('field_name');;
$order = Mage::getModel('sales/order')->loadByIncrementId($orderNumber);
看到这个How to get post data variables after submition a form in magento