首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Magento获取付款信息块上的最后一个订单Id电子邮件

问Magento获取付款信息块上的最后一个订单Id电子邮件
EN

Stack Overflow用户
提问于 2012-02-10 19:21:09
回答 1查看 3.4K关注 0票数 1

​

​

上图是Magento的新订单确认邮件的图片。在我们正在开发的网站上,我们使用Fontis澳大利亚扩展(http://www.magentocommerce.com/magento-connect/fontis-australia.html)来实现BPay支付方法。扩展可以正常工作,除了在订单确认电子邮件上,电子邮件参考始终显示000000。

我试着查看它,发现生成的ref编号需要订单ID作为输入才能生成正确的ref编号。扩展使用以下代码来获取支付信息块上的最后一个订单号: Mage::getSingleton('checkout/session')->getLastRealOrderId();= $order_id

我尝试使用并打印来自其他控制器的结果,它显示了正确的订单号。但似乎对于电子邮件上的支付信息块,订单号信息无法检索。实际上,在结帐成功页面上也调用了相同的块,并且显示正确。

有没有人可以建议其他方式来获得最后的订单id在支付信息块上的Magento电子邮件?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-10 20:36:26

在info模板中,您可以使用$order = $this->getInfo()->getOrder();来获取Mage_Sales_Model_Order对象。然后,您可以通过$order->getData('increment_id')获得当前订单id。

但使用此代码时,您会在签出过程中出错,因为$this->getInfo()会返回其他模型。

因此,对于我来说,没有错误的肮脏解决方案是:

代码语言:javascript
复制
$info = $this->getInfo();   
if ($info instanceof Mage_Sales_Model_Order_Payment) {
    $order = $info->getOrder();
    echo $order->getData('increment_id'));
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9226991

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档