在 Magento 中获取订单增量 ID

2022-08-31 00:25:47

我正在尝试在 success.phtml 页面上获取 Magento 中的订单增量 ID,以便我可以将其用于联盟跟踪。

我正在使用以下代码,但它在第二行上给出了错误;

$order = Mage::getSingleton('sales/order')->getLastOrderId();
$lastOrderId = $order->getIncrementId();

错误显示为:

致命错误:在第 34 行的非对象上调用成员函数 getIncrementId(): $LastOrderId = $order->getIncrementId();

我想知道是否有人对如何获取订单增量ID有任何想法?这是在管理员中看到的参考编号,通常类似于:#1000123


答案 1

如果您在结账成功页面(在 success.phtml 中)专门执行此操作,则用于获取订单增量 ID 的代码已在模板中可用,因为它已向客户显示。

您只需要以下内容:

$orderId = $this->getOrderId();

请注意,这在其他页面上不起作用,因此,对于这些页面,您需要使用:

$orderId = Mage::getSingleton('checkout/session')->getLastRealOrderId();

答案 2

代码$order是最后一个订单 ID...正如函数名称所暗示的那样。如果这不是您想要的值,则使用它来加载订单,然后对该值使用 getter:

$order = Mage::getModel('sales/order');
$order->load(Mage::getSingleton('sales/order')->getLastOrderId());
$lastOrderId = $order->getIncrementId();

推荐