如何在产品页面上获取当前订单ID的Magento?

时间:2012-11-21 10:12:12

标签: magento

我在页面上显示我在Magento商店中可用的产品。如果我继续将订单添加到购物车并在最后购买,我想获得订单的当前ID。

由于每个说法的订单不存在且不止一个人可以同时购买,我必须在某个时候计算订单ID,同时确保它不会与同时另一个订单的另一个人发生冲突

另一件事是我提到这是在产品列表页面(/../../../../../template/catalog/product/list.phtml)所以每个“订单”说(之前我提到过)不存在。

如何以最佳方式获取未使用的订单ID?

2 个答案:

答案 0 :(得分:7)

在Magento中,在购物车上创建时,会创建一个引用对象,对于您添加的每个项目,都会有一个quote_item对象。

您可以从会话

获取当前报价ID
$session        = Mage::getSingleton('checkout/session');
$quote_id       = $session->getQuoteId();

然后加载sales_quote对象

$item_quote     = Mage::getModel('sales/quote')->load($quote_id);

通过这种方式,您可以轻松访问与报价表相关的任何属性。

对于购物车中的商品,您可以通过

访问
$items_in_cart      = $quote->getAllItems();

然后在循环中运行

foreach ($items_in_cart as $item) { 

  echo 'ID: '.$item->getProductId().'<br />';
  echo 'Name: '.$item->getName().'<br />';
  echo 'Sku: '.$item->getSku().'<br />';
  echo 'Quantity: '.$item->getQty().'<br />';
  echo 'Price: '.$item->getPrice().'<br />';

}

希望这有帮助! 有关更多参考,请参阅此处 http://inchoo.net/ecommerce/magento/magento-quote-order-invoice-workflow/

答案 1 :(得分:0)

查看here创建订单,您可以创建订单,当您保存新订单时,请获取订单的下一个ID。