2016-04-22 24 views
1

私は現在、Ajaxの見積もり依頼を受け入れるカスタムコントローラを完成させています。私は正常にすべてを設定することができ、それは適切に送信されています。私が持っている質問は、 トランザクション電子メールテンプレートをCMSから私が設定したコントローラにリンクする方法に関連しています。Magentoトランザクション電子メールテンプレート

Magentoインストールのロケールにテンプレートがあり、それをバックエンドのトランザクション電子メールマネージャに読み込むことができました。そのテンプレートのIDを取得してそれをメールオブジェクトにロードするにはどうしたらいいですか?私は単純な数値のIDを使用しようとしましたが、それは動作していないようです。

のConfig.xml

<global> 
    <template> 
     <email> 
      <custom_quote> 
       <label>Custom Quote Form</label> 
       <file>custom-quote.html</file> 
       <type>html</type> 
      </custom_quote> 
      <trade_printer> 
       <label>Trade Printer Form</label> 
       <file>trade-printer.html</file> 
       <type>html</type> 
      </trade_printer> 
     </email> 
    </template> 
    </global> 
+0

あなたはからconfig.xml共有することができますか? –

+0

関連するスニペットが追加されました。 – Sidriel

答えて

1

に電子メールを送信するためのサンプルコードで、私はその loadDefault()を発見ロケールコードベースから常にテンプレートをロードします。 loadByCode()をTransactional Emailエディタで指定された名前に使用すると、カスタマイズされたテンプレートがロードされます。

最終的なコード

$emailTemplate = Mage::getModel('core/email_template')->loadByCode('Template Name Here');

1

これは、利用可能な方法にまで読んだ後に電子メールテンプレート

$emailTemplate = Mage::getModel('core/email_template') 
         ->loadDefault('custom_quote');         


$emailTemplateVariables = array(); 
$emailTemplateVariables['myvar1'] = 'Branko'; 
$emailTemplateVariables['myvar2'] = 'Ajzele'; 
$emailTemplateVariables['myvar3'] = 'ActiveCodeline'; 
$processedTemplate = $emailTemplate->getProcessedTemplate($emailTemplateVariables); 
$emailTemplate->send('[email protected]','John Doe', $emailTemplateVariables,$storeId=null); 

reference

+0

私は助けていただきありがとうございますが、私の質問の後半で述べたように、私はロケールフォルダにあるテンプレートにリンクすることができましたが、CMS Transactional Email設定にあるカスタマイズされたバージョンを利用できるようにしたかった。私はそれ以来、私が望むものを正確に行うloadByCode()メソッドを発見しました。 – Sidriel