2012-04-02 5 views
0

私は独自のカスタムコンタクトフォームモジュールを作成しました。 postAction()機能では、IndexController.phpに私はコンソールログを行うMagento: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> 

をXMLのこのビットが必要になりますこれは、製品の見積もりを送信するためのフォームを可能にMage_Quotesモジュールからの例です。

+0

あなたの投稿は正しいですが、私は自分のローカルワンプセットアップとSMTPエラーのエラーであると考えました。私の方法は、私の制作現場でうまくいきました。しかし、ありがとう! –

関連する問題