CMS Kit Pro:新闻通讯系统
您必须拥有 ABP Team 或更高级别的许可 才能使用 CMS Kit Pro 模块的功能。
CMS Kit 提供新闻通讯系统,允许用户订阅新闻通讯。以下是新闻通讯订阅小部件的截图:
启用新闻通讯系统
默认情况下,CMS Kit 功能处于禁用状态。因此,在开始使用之前,您需要启用所需的功能。您可以使用全局功能系统在开发时启用/禁用 CMS Kit 功能。或者,您可以使用 ABP 的功能系统在运行时禁用 CMS Kit 功能。
请查看 CMS Kit 模块文档的“如何安装”部分,了解如何在开发时启用/禁用 CMS Kit 功能。
用户界面
菜单项
新闻通讯:打开新闻通讯订阅管理页面。
页面
新闻通讯
在解决方案的管理端,您可以查看订阅者并将列表导出为 CSV 文件:
邮件偏好管理
您(以及公共 Web 应用程序的用户)可以通过访问解决方案公共端的邮件偏好页面(/cms/newsletter/email-preferences)来管理邮件偏好并取消订阅新闻通讯:
新闻通讯订阅小部件
新闻通讯订阅系统提供了一个新闻通讯订阅小部件,允许用户订阅新闻通讯。 您可以简单地将小部件放置在页面上,如下所示:
@await Component.InvokeAsync(
typeof(NewsletterViewComponent),
new
{
preference = "TechNewsletter",
source = "Footer",
requestAdditionalPreferencesLater = false
})
在添加新闻通讯组件时,您可以指定 source 参数以了解用户订阅新闻通讯的来源。查看选项以了解偏好设置。
选项
在使用新闻通讯系统之前,您需要定义偏好设置。您可以使用 NewsletterOptions 类型来定义偏好设置。NewsletterOptions 可以在域层中配置,位于模块的 ConfigureServices 方法中。
示例:
options.AddPreference("TechNewsletter",
new NewsletterPreferenceDefinition(
"每日技术新闻通讯",
privacyPolicyConfirmation: "我接受 <a href='/privacy-policy'>隐私政策</a>。")
)
);
NewsletterOptions 属性:
Preferences:新闻通讯系统中定义的新闻通讯偏好设置列表(NewsletterPreferenceDefinition)。WidgetViewPath:所有新闻通讯偏好设置的默认视图路径。
NewsletterPreferenceDefinition 属性:
Preference:偏好设置的名称。在 UI 上显示新闻通讯组件时,我们将使用此字段。PrivacyPolicyConfirmation:在新闻通讯订阅小部件中显示的隐私政策确认文本。AdditionalPreferences:用户订阅新闻通讯后将显示的附加偏好设置列表。WidgetPath:如果您想使用不同的新闻通讯小部件而不是默认小部件,可以使用此字段指定新闻通讯小部件路径。
内部实现
域层
聚合
此模块遵循实体最佳实践与约定指南。
NewsletterRecord
新闻通讯记录代表特定电子邮件地址的新闻通讯订阅。
NewsletterRecord(聚合根):代表系统中的新闻通讯订阅。
存储库
此模块遵循存储库最佳实践与约定指南。
为此功能定义了以下自定义存储库:
INewsletterRecordRepository
域服务
此模块遵循域服务最佳实践与约定指南。
新闻通讯记录管理器
NewsletterRecordManager 用于对 NewsletterRecord 聚合根执行某些操作。
应用层
应用服务
NewsletterRecordAdminAppService(实现INewsletterRecordAdminAppService):实现新闻通讯订阅管理的用例。NewsletterRecordPublicAppService(实现INewsletterRecordPublicAppService):实现公共网站新闻通讯订阅的用例。
数据库提供程序
通用
表/集合前缀和架构
默认情况下,所有表/集合使用 Cms 前缀。如果需要更改表前缀或设置架构名称(如果您的数据库提供商支持),请在 CmsKitDbProperties 类上设置静态属性。
连接字符串
此模块使用 CmsKit 作为连接字符串名称。如果您未定义具有此名称的连接字符串,它将回退到 Default 连接字符串。
有关详细信息,请参阅连接字符串文档。
Entity Framework Core
表
- CmsNewsletterRecords
- CmsNewsletterPreferences
MongoDB
集合
- CmsNewsletterRecords
实体扩展
请查看 CMS Kit 模块文档的“实体扩展”部分,了解如何扩展 CMS Kit Pro 模块新闻通讯功能的实体。
抠丁客





