2010-01-11 210 views
3

如何爲客戶訂單設置不同的電子郵件模板確認電子郵件和管理員副本。Magento電子郵件模板

我需要爲Admin電子郵件副本添加一些額外的內容。

謝謝

回答

4

我假設您目前正在使用「複製」功能發送管理員電子郵件。讓我知道如果情況並非如此。由於同一封電子郵件目前正在發送給多個收件人,因此很難爲每個收件人更改內容。但是,您可以使用一些代碼發送多封電子郵件,這可以讓您爲每個電子郵件模板使用不同的電子郵件模板。

class MyModule_Model_Sales_Order extends Mage_Sales_Model_Order { 

    /** 
    * Sending email with order data 
    * 
    * @return Mage_Sales_Model_Order 
    */ 
    public function sendNewOrderEmail() { 
     parent::sendNewOrderEmail(); 

     /** 
     * Your admin email sending code here. Copy it out of the sendNewOrderEmail 
     * function in Sales_Order. 
     */ 

     return $this; 
    } 
} 

然後告訴Magento的重寫你的模塊配置中的核心類:這可以通過創建一個新類來實現

<config> 
    <global> 
     <models> 
      <mymodule> 
       <class>MyModule_Model</class> 
      </mymodule> 
      <sales> 
       <rewrite> 
        <order>MyModule_Model_Sales_Order</order> 
       </rewrite> 
      </sales> 
     </models> 
    </global> 
</config> 

你需要創建所需的模板,並確保您的重寫模型使用該模板。

+0

我是新手,那麼,請你告訴我需要修改的文件的路徑以實現上面顯示的場景嗎? – Rbacarin 2011-01-05 18:00:19

+0

在用我自己的模塊成功地重載了聯繫表單之後,我試了一下。沒有工作。 – 2013-02-15 01:41:41

0

您可以檢查並在應用程序編輯HTML文件>場所> EN_US>模板>電子郵件

0

請記住,你是否決的銷售,而不是目錄。

因此,爲了防止搜索爲什麼上述代碼無法正常工作,請在config.xml中使用「sales」而不是「catalog」。

+0

我編輯了答案以反映錯字,謝謝。 – 2013-02-15 01:39:23

1

更改標籤目錄銷售和使用類名稱添加的命名空間,例如:如果命名空間是Custom再加入Custom_MyModule_ModelCustom_MyModule_Model_Sales_Order,因此生成的XML文件是:

<config> 
    <global> 
     <models> 
      <mymodule> 
       <class>Custom_MyModule_Model</class> 
      </mymodule> 
      <sales> 
       <rewrite> 
        <order>Custom_MyModule_Model_Sales_Order</order> 
       </rewrite> 
      </sales> 
     </models> 
    </global> 
</config>