Magento交易电子邮件模板

时间:2016-04-22 20:09:04

标签: php email magento

我目前正在完成定制控制器以接受报价表单的Ajax请求。我已经能够成功设置所有内容,并且发送正确。我的问题是与链接方法有关 从CMS到我设置的控制器的交易电子邮件模板。

我在Magento安装的区域设置中有一个模板,并且能够将其加载到后端的Transactional电子邮件管理器中。我如何能够获取该模板的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>

2 个答案:

答案 0 :(得分: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('john@someemail.com','John Doe', $emailTemplateVariables,$storeId=null);

reference

答案 1 :(得分:1)

在阅读了可用的方法之后,我发现了这一点 loadDefault()将始终从区域设置代码库加载模板。使用事务电子邮件编辑器中指定的名称loadByCode()将加载自定义模板。

最终守则

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