Как добавить тему в пользовательский шаблон электронной почты?


Я создал пользовательский шаблон электронной почты в magento2. Функция почты работает нормально, но тема не отправляется в этом письме. Как я могу добавить тему в свой пользовательский шаблон электронной почты.

$transport = $this->transportBuilder
       ->setTemplateIdentifier('my_custom_email_template')
       ->setTemplateOptions(
            [
                'area' => \Magento\Framework\App\Area::AREA_FRONTEND,
                'store' => \Magento\Store\Model\Store::DEFAULT_STORE_ID,
            ]
        )
       ->setTemplateVars($vars)
       ->setFrom($sender)
       ->addTo($toEmail)
       ->getTransport();
    $transport->sendMessage();
    $this->inlineTranslation->resume();
Author: sv3n, 2017-06-28

3 answers

Вы можете написать тему письма в своем файле email.html

<!--@subject {{trans "Your Subject Write Here "}}  @-->

Вы можете передать динамику темы, следуя приведенному ниже примеру

<!--@subject {{trans "Welcome to %store_name" store_name=$store.getFrontendName()}} @-->
 14
Author: Suresh Chikani, 2017-06-28 09:53:38

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

<!--@subject Subject Of your email  @-->

Дополнительная ссылка по ссылке

Https://stackoverflow.com/questions/35123779/how-to-add-subject-in-tranctional-email-template-for-magento-2-version

 1
Author: Jjo, 2017-06-28 09:17:20

Используйте метод clearSubject(), но чтобы применить его при вызове метода GetMessage(), приведите этот пример здесь

$transport = $this->transportBuilder->setTemplateIdentifier('send_email_email_template')
                    ->setTemplateOptions( [
                                                'area' => \Magento\Framework\App\Area::AREA_FRONTEND,
                                                'store' => \Magento\Store\Model\Store::DEFAULT_STORE_ID,
                                          ])
                    ->setTemplateVars(array())
                    ->setFrom($sender)
                    ->addTo($toEmail, '')
                    ->getTransport();
$transport->getMessage()->setMessageType( \Magento\Framework\Mail\MessageInterface::TYPE_HTML)->setBody($MyHtml)->clearSubject()->setSubject("MySubject");
$transport->sendMessage();
 0
Author: Daniel Alejandro Grimaldo Chav, 2020-09-11 11:58:30