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

时间:2015-02-22 20:49:59

标签: php email magento backend magento-1.9

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

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

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

2 个答案:

答案 0 :(得分:2)

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

$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
);

或使用“我的”方法:

$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);

答案 1 :(得分:1)

请检查以下代码。这是我在stackoverflow上的第一个答案。

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