【问题标题】:Get transcational email id by name按名称获取交易电子邮件 ID
【发布时间】:2015-02-22 20:49:58
【问题描述】:

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

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

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

【问题讨论】:

    标签: php email magento backend magento-1.9


    【解决方案1】:

    您可以获得邮件模板:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2013-02-13
        • 1970-01-01
        • 2013-01-14
        • 2015-10-13
        • 2015-05-20
        • 2013-02-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多