2011-11-14 10 views
1

顧客が何か注文をうけてから注文の特定のファイルを移動するために、私のサーバー上にフォルダを作成する注文から増分IDが必要です。これは私が今までに持っているものです:Magento:最初の注文後にインクリメントIDが

$chkoutSess = Mage::getSingleton('checkout/session'); 
$lastOrderId = $chkoutSess->getLastOrderId(); 
$order = Mage::getModel('sales/order'); 
$order->load($lastOrderId); 
$incid = $order->getData("increment_id"); 

これはもっと簡単に行うことができますが、それは私のために働くと思います。私がこれを持っている問題は、初めて "何か"を注文すると$orderが完全に空であることです。この後、常に動作します。実際のセッションがあるときにセッションオブジェクトからこのデータを取り出せるだけだと思います。顧客が何かを注文したときには常に「lastOrderId」が存在するため、もちろん無意味です。最後の注文を得るための他の方法はありますか?それはデータベースからインクリメントされますか?

私が使用する機能は、ユーザーが注文の送信ボタン(イベントオブザーバー "sales_order_place_after")を正常にヒットした直後に実行されます。誰もがこれで私を助けることができますか?

+1

しかし、全体のためのオブジェクトがsales_order_place_after'オブザーバー 'に渡され、あなたがそこにそれを使用することができます(' $ event-> getOrder() ')。なぜあなたはセッションから注文IDを取得しようとしていますか? – Zyava

+0

あなたの解決策は今のところ私のために働いていた...私がここで逃したものと思う...ありがとう! – Mikaelik

答えて

0

$chkoutSess->getRealOrderId();を試してみていない$chkoutSess->getLastOrderId();

関連する問題