如何在magento 2版本的tranctional电子邮件模板中添加主题

时间:2016-02-01 05:51:43

标签: magento2

我在下面创建但不知道如何在此代码中添加自定义主题

$transport = $this->transportBuilder->setTemplateIdentifier($emailTemplateId)
                      ->setTemplateOptions(['area' => \Magento\Framework\App\Area::AREA_FRONTEND, 'store' => $storeId])
                        ->setTemplateVars($templateParams)
                       ->setFrom(['name' => $senderEmailName, 'email' => $senderEmail])
                        ->addTo($email)
                       ->getTransport();
                $transport->sendMessage();   

对于Magento 1,我们使用添加行: -

->setTemplateSubject($mailSubject)

2 个答案:

答案 0 :(得分:1)

由于已经回答,您可以通过

在模板中进行设置
<!--@subject [...] @-->

您可以通过访问以下模板变量,在模板中读出来:

{{var this.getSubject()}}

例如,如果您使用trans指令创建主题,则会返回已翻译的主题。

TransportBuilder 准备邮件(\Magento\Framework\Mail\Template\TransportBuilder::prepareMessage)时,可以透明地设置邮件的主题。

从技术上讲,只要您使用电子邮件模板(建议使用email_templates.xml文件以供参考),这就是主题的处理方式。

在您的代码中,这已经发生在

的调用中
->getTransport();

如果主题为空,请先在模板中进行设置。

参考文献:

答案 1 :(得分:0)

您可以在电子邮件模板标题中设置主题

<!--@subject This is subject @-->