black-lamp / yii2-email-templates
模块,用于在仪表板中添加电子邮件模板
3.1.1
2017-05-15 13:30 UTC
Requires
- php: >=5.6.0
- 2amigos/yii2-tinymce-widget: ~1.1
- yiisoft/yii2: ^2.0.4
- yiisoft/yii2-bootstrap: ^2.0.0
Requires (Dev)
This package is not auto-updated.
Last update: 2024-09-14 19:58:33 UTC
README
模块,用于在仪表板中添加电子邮件模板
安装
运行命令
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 ], ]
使用
- 在仪表板中创建带有标记的模板
电子邮件主题
来自 {sitename} 的新消息
电子邮件正文
你好,{username}!
文本...
点击链接 - {link}
- 使用组件帮助获取模板
$template = Yii::$app->templateManager->getTemplate('test', 1);
此方法返回一个Template对象。
- 您应该在电子邮件主题和正文中解析标记
$template->parseSubject([ '{sitename}' => $sitename ]); $template->parseBody([ '{username}' => Yii::$app->user->identity->firstname, '{link}' => Url::toRoute(['/confirm', 'token' => $token], true) ]);
- 现在您可以使用此模板
Yii::$app->mailer->compose() // ... ->setSubject($template->subject) ->setHtmlBody($template->body) // ...