black-lamp/yii2-email-templates

模块,用于在仪表板中添加电子邮件模板

安装: 946

依赖: 4

建议者: 0

安全性: 0

星级: 10

关注者: 6

分支: 6

开放问题: 1

类型:yii2-extension

3.1.1 2017-05-15 13:30 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:58:33 UTC


README

模块,用于在仪表板中添加电子邮件模板

Build Status Latest Stable Version Latest Unstable Version License

安装

运行命令

composer require black-lamp/yii2-email-templates

或添加

"black-lamp/yii2-email-templates": "^3.0.0"

到您的composer.json的require部分。

应用迁移

yii migrate --migrationPath=@vendor/black-lamp/yii2-email-templates/src/migrations

将模块添加到应用程序配置中

后端模块,用于创建、编辑和删除电子邮件模板

'modules' => [
     // ...
     'email-templates' => [
         'class' => bl\emailTemplates\EmailTemplates::class,
         'languageProvider' => [
            'class' => bl\emailTemplates\providers\DbLanguageProvider::class,
            'tableName' => 'language',
            'idField' => 'id',
            'nameField' => 'name'
         ]
     ],
]

languageProvider是一个实现了LanguageProviderInterface的类。您可以使用此扩展中的语言提供者或创建自己的。此扩展有两个语言提供者。

数据库语言提供者配置属性
配置语言提供者配置属性

将组件添加到应用程序配置中

组件用于从数据库获取模板

'components' => [
    // ...
    'emailTemplates' => [
        'class' => bl\emailTemplates\components\TemplateManager::class
    ],
]

使用

  1. 在仪表板中创建带有标记的模板

电子邮件主题

来自 {sitename} 的新消息

电子邮件正文

你好,{username}!

文本...

点击链接 - {link}

  1. 使用组件帮助获取模板
$template = Yii::$app->templateManager->getTemplate('test', 1);

此方法返回一个Template对象。

  1. 您应该在电子邮件主题和正文中解析标记
    $template->parseSubject([
        '{sitename}' => $sitename
    ]);
    
    $template->parseBody([
        '{username}' => Yii::$app->user->identity->firstname,
        '{link}' => Url::toRoute(['/confirm', 'token' => $token], true)
    ]);
  1. 现在您可以使用此模板
Yii::$app->mailer->compose()
    // ...
    ->setSubject($template->subject)
    ->setHtmlBody($template->body)
    // ...