2013-09-26 41 views
1

問:Magento的檢查報價有秩序

是否有檢查,如果報價對象有沒有加載 訂單對象相關命令對象的確定方式?

研究

我已經看過下面的方式,但我不是100%,他們將是準確的:

  • is_active,所以當訂單完成這個字段設置爲0 ,但我不確定這是否是唯一發生的事情。
  • reserved_order_id,措辭似乎可能不會填滿保留的順序。
  • converted_at(謝謝@Marius),對我來說總是好像是null
  • subtotal,這看起來很有趣,如果報價有一個小計肯定它已經訂購。

我想我可以設置一個標誌,並把它添加到convert_quote_to_order觀察者,但必須有這樣做的一個簡單的內置方式,我真的不想加入訂單對象到我的收藏的額外開銷當我在做檢查時。

非常感謝。

回答

6

檢查字段 converted_at$quote->getConvertedAt())。如果它是 null這意味着它沒有訂單。如果它有訂單,這應該是訂單創建的日期。
[編輯]
好的。我已檢查並確認is_active是檢查報價是否有相關訂單的可靠方法。如果值爲0,則報價有訂單。
該標誌由該方法Mage_Sales_Model_Service_Quote::_inactivateQuote設置爲0和訂貨時調用此方法:
Mage_Sales_Model_Service_Quote::submitOrder
Mage_Sales_Model_Service_Quote::submitNominalItems
Mage_Sales_Model_Service_Quote::submitAll
另一方面,reserved_order_id不是用於轉換爲訂單的報價的可靠標誌。它可以填入一個值,但訂單可能會丟失。我已經有幾次寫了一個模塊,在訂單發出之前我已經預訂了訂單編號。

+0

感謝您的建議,但即使對於完整的訂單,「converted_at」字段始終爲「null」。您確定這不適用於訂單轉換爲報價時嗎? – input

+0

@input我不是100%確定。我會檢查並編輯(或刪除)我的回答 – Marius

+0

謝謝。還要注意,它可能是OneStepCheckout跺腳和打破各種各樣的事情,它的特點。 – input