按名称获取交易电子邮件 ID

Get transcational email id by name

有人知道如何通过后端设置的名称获取电子邮件的 ID 吗?我在交易电子邮件的后端创建了一封电子邮件,我想以编程方式发送它,但它的 ID 可能会有所不同,具体取决于我所在的实例(本地、现场、舞台),我只能提供相同的名称为了它。 我有这个:

Mage::getModel('core/email_template')->sendTransactional(
$templateId, 
$sender, 
$recepientEmail, 
$recepientName, 
$vars, 
$store);

我需要找出 $templateId,我只知道我保存了名称为 "Tests" 的邮件。

您可以获得电子邮件模板:

$templateName = “Test”;
$emailTemplate = Mage::getModel('core/email_template')->loadByCode($templateName);

获取id:

$templateId = $emailTemplate->getId();

然后在途中发送电子邮件:

Mage::getModel('core/email_template')->sendTransactional(
    $templateId, 
    $sender, 
    $recepientEmail, 
    $recepientName, 
    $vars, 
    $store
);

或使用"my"方法:

$vars = array('key' => 'value');
$storeId = Mage::app()->getStore()->getStoreId();
$recipientEmail = 'some@email.com';
$recipientName = 'Some Name';
$emailTemplate->setSenderEmail(Mage::getStoreConfig('trans_email/ident_general/email', $storeId)); 
$emailTemplate->setSenderName(Mage::getStoreConfig('trans_email/ident_general/name', $storeId));    
$emailTemplate->send($recipientEmail, $recipientName, $vars);

请检查下面的代码。无论如何,这是我在 Whosebug 上的第一个答案。

$templateName = "Tests";
$templateID = Mage::getModel('core/email_template')->loadByCode($templateName)->getId();