我在显示我在 Magento 商店中可用的产品的页面上。如果我继续将订单添加到我的购物车并在最后购买,我想获取订单的当前 ID。
由于每个说的订单不存在并且多个人可以同时购买,因此我必须以某种方式计算订单 ID,同时确保它不会与另一个同时下订单的人发生冲突。
另一件事就像我提到的那样,这是在产品列表页面(/../../../../../template/catalog/product/list.phtml)上,所以每个说的“订单”(我之前提到过)不存在。
如何以最佳方式获得未使用的订单 ID?
我在显示我在 Magento 商店中可用的产品的页面上。如果我继续将订单添加到我的购物车并在最后购买,我想获取订单的当前 ID。
由于每个说的订单不存在并且多个人可以同时购买,因此我必须以某种方式计算订单 ID,同时确保它不会与另一个同时下订单的人发生冲突。
另一件事就像我提到的那样,这是在产品列表页面(/../../../../../template/catalog/product/list.phtml)上,所以每个说的“订单”(我之前提到过)不存在。
如何以最佳方式获得未使用的订单 ID?
在 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/
看看这里创建一个订单,您可以创建一个订单,当您保存新订单时,获取下一个订单 ID。