![](/img/trans.png)
[英]Update a custom column of sales_flat_order table after order complete in magento
[英]Where does the customer_email column get populated from in the sales_flat_order table in Magento on onepage checkout?
我試圖在單頁結帳的sales_flat_order表中成功交易后,在Magento中找到填充了customer_email列的PHP代碼。 在這種情況下,我以“來賓”身份簽出。
由於某些原因,customer_email列不會被填充,而是僅當我在登台服務器上進行來賓結帳時才填充(似乎可以在我的無聊的盒子上工作,盡管這很奇怪?)
我知道代碼會像這樣:
$this->setCustomerEmail(); // or something like this
它取自帳單地址。 saveOrderAction()
Checkout控制器調用$this->getOnepage()->saveOrder();
這將轉到Mage_Checkout_Model_Type_Onepage::_prepareGuestQuote()
方法,該方法設置來自帳單地址的報價中的電子郵件。
接下來,使用這段代碼將報價復制到Mage_Checkout_Model_Type_Onepage::saveOrder()
方法中的訂單中。
$service = Mage::getModel('sales/service_quote', $this->getQuote());
$service->submitAll();
然后使用這段代碼將電子郵件復制到Mage_Sales_Model_Service_Quote::submitOrder()
方法中的訂單中。
foreach ($this->_orderData as $key => $value) {
$order->setData($key, $value);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.