2012-04-02 61 views
0

我創建了自己的自定義聯繫人表單模塊。在postAction()功能,在IndexController.phpMagento:email_template未在自定義模塊中加載

$mailTemplate = Mage::getModel('core/email_template'); 

做一個控制檯日誌顯示沒有被存儲在變量。爲什麼會這樣?默認聯繫人模塊加載它很好,爲什麼這裏有什麼不同?

另外,當調用實際發送郵件時,它總是拋出一個異常。

回答

1
const XML_PATH_EMAIL_RECIPIENT = 'quotes/email/recipient_email'; 
const XML_PATH_EMAIL_SENDER  = 'quotes/email/sender_email_identity'; 
const XML_PATH_EMAIL_TEMPLATE = 'quotes/email/email_template'; 

$mailTemplate = Mage::getModel('core/email_template');

/* @var $ mailTemplate Mage_Core_Model_Email_Template */

   $mailTemplate->setDesignConfig(array('area' => 'frontend')) 
        ->sendTransactional(
        Mage::getStoreConfig(self::XML_PATH_EMAIL_TEMPLATE), 
        Mage::getStoreConfig(self::XML_PATH_EMAIL_SENDER), 
        Mage::getStoreConfig(self::XML_PATH_EMAIL_RECIPIENT), 
        null, 
        array('data' => $postObject)` 
       ); 

這應該允許您根據需要發送的模板。

你需要在你的config.xml

<template> 
     <email> 
      <quotes_email_email_template translate="label" module="quotes"> 
       <label>Quote Form</label> 
       <file>quote_form.html</file> 
       <type>text</type> 
      </quotes_email_email_template> 
     </email> 
    </template> 


    <default> 
     <quotes> 
      <quotes> 
       <enabled>1</enabled> 
      </quotes> 
      <email> 
       <recipient_email><![CDATA[[email protected]]]></recipient_email> 
       <sender_email_identity>custom2</sender_email_identity> 
       <email_template>quotes_email_email_template</email_template> 
      </email> 
     </quotes> 
    </default> 

這是Mage_Quotes模塊,允許一個表格發送報價的產品的一個實例XML的該位。

+0

您的帖子是正確的,但我追查它是一個錯誤與我本地的wamp設置和一個SMTP錯誤。我的方法在我的製作網站上運行良好。雖然謝謝! – 2012-04-02 17:41:54