2012-02-10 12 views
1

Magento New Order EmailMagentoのは、上記を参照してください

支払い情報ブロックをEメールでラストオーダーIDを取得しますMagentoのの新しい注文確認メールの絵です。 私たちが開発しているウェブサイトでは、BPay支払い方法を実装するために、Fontisオーストラリアエクステンション(http://www.magentocommerce.com/magento-connect/fontis-australia.html)を使用します。拡張機能は正常に動作しますが、注文確認メールでは電子メール参照は常に000000と表示されます。

私はそれを見て、正しい参照番号を生成するために生成された参照番号が入力として必要であることを確認します。 このコードを使用して、支払い情報ブロックの最後の注文番号を取得します。 $ order_id = Mage :: getSingleton( 'checkout/session') - > getLastRealOrderId();

他のコントローラからの結果を使用して印刷しようとすると、正しい注文番号が表示されます。しかし、電子メールの支払い情報ブロックでは、注文番号情報を取得できないようです。実際には同じブロックがチェックアウトの成功ページにも呼び出され、正しく表示されます。

Magentoのメールで支払い情報ブロックの最後の注文IDを取得する方法を他の人が提案できますか?

答えて

3

を使用してMage_Sales_Model_Orderオブジェクトを取得することができます。その後、現在の注文IDは$ order->getData('increment_id')で取得できます。

$this->getInfo()が他のモデルを返すので、このコードでは、チェックアウトプロセスでエラーが発生します。エラーなしで私の作品

ので汚いソリューションは、次のとおりです。

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

本当にありがとうございました...!ついにそれは今働いている! – Calua

関連する問題