Получить транснациональный идентификатор электронной почты по имени

Кто-нибудь знает, как мне получить идентификатор электронной почты по имени, заданному на бэкэнде? У меня есть электронное письмо, созданное в бэкэнде в транзакционных электронных письмах, которое я хочу отправить программно, но его идентификатор может отличаться в зависимости от того, в каком экземпляре я работаю (локальный, живой, этап), и я могу предоставить только одно и то же имя для этого.
У меня есть это:

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

И мне нужно узнать $ templateId, и я знаю только, что я сохранил письмо с именем «Тесты».

1

Решение

пожалуйста, проверьте коды ниже. В любом случае, это мой первый ответ на stackoverflow.

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

Другие решения

Вы можете получить шаблон электронной почты:

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

Получить идентификатор:

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