2012-02-10 95 views
1

Magento New Order EmailMagento的獲取上付款方式阻止電子郵件

上面看到的是Magento的新訂單確認電子郵件的圖片最後訂單ID。 在我們正在開發的網站上,我們使用Fontis Australia擴展(http://www.magentocommerce.com/magento-connect/fontis-australia.html)來實施BPay付款方式。擴展工作正常,除了在訂單確認電子郵件中,電子郵件參考始終顯示000000.

我試着看看它,看到生成的參考編號需要訂單ID作爲輸入以生成正確的參考編號。 該擴展使用此代碼獲取付款信息​​塊上的最後訂單號: $ order_id = Mage :: getSingleton('checkout/session') - > getLastRealOrderId();

我嘗試使用並打印來自其他控制器的結果,它顯示正確的訂單號。但似乎對於電子郵件上的付款信息塊,無法檢索訂單號信息。實際上,同樣的塊也在結帳成功頁面上呼叫,並且顯示正確。

有人可以建議其他方式獲得Magento電子郵件上的付款信息塊上的最後一個訂單ID?

回答

3

在信息模板中,您可以使用$order = $this->getInfo()->getOrder();獲取Mage_Sales_Model_Order對象。然後,您可以獲得$ order->getData('increment_id')的當前訂單ID。

但是使用此代碼,您會在結帳過程中收到錯誤,因爲$this->getInfo()會返回其他模型。

所以解決方案,即沒有錯誤對我的作品是:

$info = $this->getInfo(); 
if ($info instanceof Mage_Sales_Model_Order_Payment) { 
    $order = $info->getOrder(); 
    echo $order->getData('increment_id')); 
} 
+0

感謝這麼多..!終於它現在工作! – Calua 2012-02-10 17:13:22

相關問題