簡體   English   中英

在一頁結帳時,Magento的sales_flat_order表中的customer_email列填充在哪里?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM