2013-08-24 121 views

回答

1

添加新的字段訂購的電子郵件,你需要遵循以下兩個步驟中的

位於

應用程序/代碼/核心1)編輯sendNewOrderEmail()函數/法師/銷售/型號/ Order.php

在該功能你會發現下面的代碼

$mailer->setTemplateParams(array(
     'order'  => $this, 
     'billing'  => $this->getBillingAddress(), 
     'payment_html' => $paymentBlockHtml, 
    )); 

您需要添加新的鍵值對,添加新的自定義值

$mailer->setTemplateParams(array(
      'order'  => $this, 
      'billing'  => $this->getBillingAddress(), 
      'payment_html' => $paymentBlockHtml, 
      'customvalue' => 'This is a custom value' //New custom value 
     )); 

2)現在是第二部分。您需要將自定義變量添加到新訂單電子郵件模板。 只需編輯模板添加您的自定義參數名稱。在這個例子中它是「customvalue」。

{{ var customvalue }} 

對於英語的訂單電子郵件模板位於

  • 應用程序\區域\ EN_US \模板\電子郵件\銷售\ order_new.html
  • 應用程序\區域\ EN_US \模板\電子郵件\銷售\ order_new_guest.html

所以根據在網站上使用選擇位於內區域文件夾中的正確的模板語言。

您也可以通過導航到

系統>交易電子郵件>新訂單電子郵件

+0

感謝這個編輯從管理員的電子郵件模板。還有一個問題...我在表sales_flat_order中有自定義字段heared4us,如何在sendNewOrderEmail()函數中將相同值傳遞給自定義字段? setTemplateParams()函數中的 – user2323709

+0

$ this是當前的訂單對象。所以,如果你做print_r($ this-> getData()),你可以檢查所有的訂單信息。 –

+0

試着用var_dump($ this-> getData());但它擁有超過14 MB的數據,無法加載,崩潰的Firefox。試着用日誌。有什麼方法可以檢索相同的?試用$ this-> getfieldname()和$ this-> getData('fieldname')。兩者都不起作用。任何建議? – user2323709

相關問題