是否可以根据客户群和付款方式设置不同的电子邮件模板?
我知道我可以在Conf-> Transactional电子邮件中设置不同的模板,我也可以看到我可以在Conf->中为不同的销售电子邮件分配不同的模板。销售电子邮件。但是,根据客户群和付款方式,我无法确定在哪里可以设置不同的电子邮件模板。
任何建议都会很棒
答案 0 :(得分:0)
根据客户群
更改不同的电子邮件模板按照以下步骤
1.创建您的电子邮件模板并将其放在模板文件夹中。对于我的情况,它是“app \ locale \ en_US \ template \ email \ sales”。
2.创建新模块。在config.xml定义电子邮件模板。
<global>
...
<template>
<email>
<custom_email_customorder_new module="sales">
<label>custom email module</label>
<file>sales/order_new_custom.html</file>
<type>html</type>
</custom_email_customorder_new>
<custom_email_customorder_log module="sales">
<label>custom email module</label>
<file>sales/order_log_custom.html</file>
<type>html</type>
</custom_email_customorder_log>
</email>
</template>
...
</global>
3.扩展“Sales / Model / Order.php”并覆盖方法sendNewOrderEmail()
$paymentMethodCOde=$this->getPayment()->getMethodInstance()->getCode();
if($paymentMethodCOde=="checkmo"){
$mailer->setSender(Mage::getStoreConfig(self::XML_PATH_EMAIL_IDENTITY, $storeId));
$mailer->setStoreId($storeId);
$mailer->setTemplateId('custom_email_customorder_new');
$mailer->setTemplateParams(array(
'order' => $this,
'password' => $password,
'billing' => $this->getBillingAddress(),
'payment_html' => $paymentBlockHtml
)
);
$mailer->send();
}elseif($paymentMethodCOde="cashondelivery"){
$mailer->setSender(Mage::getStoreConfig(self::XML_PATH_EMAIL_IDENTITY, $storeId));
$mailer->setStoreId($storeId);
$mailer->setTemplateId('custom_email_customorder_log');
$mailer->setTemplateParams(array(
'order' => $this,
'password' => $password,
'billing' => $this->getBillingAddress(),
'payment_html' => $paymentBlockHtml
)
);
$mailer->send();
}
else
{
$mailer->setSender(Mage::getStoreConfig(self::XML_PATH_EMAIL_IDENTITY, $storeId));
$mailer->setStoreId($storeId);
/* magento default sales template*/
$mailer->setTemplateId($templateId);
$mailer->setTemplateParams(array(
'order' => $this,
'billing' => $this->getBillingAddress(),
'payment_html' => $paymentBlockHtml
)
);
$mailer->send();
}