文本模板管理模块 (专业版)
您必须拥有 ABP 团队版或更高级别的许可证 才能使用此模块。
本模块用于存储和编辑 ABP 文本模板系统 的模板内容。因此,您可能需要先理解该系统,以便更好地理解本模块的用途。
文本模板系统有多种应用场景。例如,账户模块 使用它来定义需要向用户发送电子邮件(如发送“密码重置链接”邮件)时的邮件模板。本模块提供了易于编辑这些邮件模板的用户界面。
查看 模块描述页面 以获取模块功能的概览。
如何安装
文本模板管理模块已在 启动模板 中预安装。因此,无需手动安装。
现有解决方案
如果您想将 文本模板管理 模块添加到您现有的解决方案中,可以使用 ABP CLI 的 add-module 命令:
abp add-module Volo.TextTemplateManagement
包
此模块遵循 模块开发最佳实践指南,由多个 NuGet 和 NPM 包组成。如果您想了解这些包及其之间的关系,请参阅该指南。
您可以访问 文本模板管理模块包列表页面 查看与此模块相关的包列表。
用户界面
菜单项
文本模板管理模块在“主”菜单的“管理”菜单项下添加了以下项目:
- 文本模板:列出、查看和筛选文本模板。
TextTemplateManagementMainMenuNames 类包含菜单项名称的常量。
页面
文本模板
文本模板页面用于查看应用程序中定义的模板列表。
点击 操作 -> 编辑内容 来编辑模板内容。有两种类型的用户界面用于编辑模板内容:
编辑内联本地化模板的内容
此类模板使用 L 函数执行内联本地化。通过这种方式,更容易管理针对不同区域文化的模板。
编辑特定区域文化模板的内容
此类模板为每种区域文化提供不同的内容。通过这种方式,您可以为特定区域文化定义完全不同的内容。
配置 TextTemplateManagementOptions
TextTemplateManagementOptions 可用于配置模块。您可以在模块的 ConfigureServices 方法(例如:BookStoreApplicationModule)中使用以下代码进行配置。
Configure<TextTemplateManagementOptions>(options =>
{
options.MinimumCacheDuration = TimeSpan.FromHours(1);
});
缓存
DatabaseTemplateContentContributor 缓存模板内容以提高性能。
您可以通过注入 IDistributedCache<string, TemplateContentCacheKey> 获取缓存存储。
有关更多信息,请查看 缓存 指南。
TemplateContentCacheKey
TemplateContentCacheKey 是模板内容的特殊缓存键。
它具有 TemplateDefinitionName 和 Culture 属性。
数据种子
此模块不播种任何数据。
内部结构
领域层
聚合
此模块遵循 实体最佳实践与约定 指南。
TextTemplateContent
TextTemplateContent(聚合根): 表示文本模板的内容。
存储库
此模块遵循 存储库最佳实践与约定 指南。
为此模块定义了以下自定义存储库:
ITextTemplateContentRepository
领域服务
此模块遵循 领域服务最佳实践与约定 指南。
DatabaseTemplateContentContributor
DatabaseTemplateContentContributor 被 ITemplateContentProvider 用来获取存储在数据库和缓存中的模板内容。
设置
此模块未定义任何设置。
应用层
应用服务
TemplateDefinitionAppService(实现ITemplateDefinitionAppService): 实现文本模板管理界面的用例。TemplateContentAppService(实现ITemplateContentAppService): 实现文本模板管理界面的用例。
数据库提供程序
通用
表/集合前缀和架构
默认情况下,所有表/集合都使用 Abp 前缀。如果需要更改表前缀或设置架构名称(如果您的数据库提供程序支持),请在 TextTemplateManagementDbProperties 类上设置静态属性。
连接字符串
此模块使用 TextTemplateManagement 作为连接字符串名称。如果您未定义具有此名称的连接字符串,它将回退到 Default 连接字符串。
有关详细信息,请参阅 连接字符串 文档。
Entity Framework Core
表
- AbpTextTemplateContents
MongoDB
集合
- AbpTextTemplateContents
权限
查看 TextTemplateManagementPermissions 类的成员以获取为此模块定义的所有权限。
Angular UI
安装
要将应用程序配置为使用文本模板管理模块,您首先需要从 @volo/abp.ng.text-template-management/config 导入 provideTextTemplateManagementConfig。然后,您需要将其附加到 appConfig 数组中。
// app.config.ts
import { provideTextTemplateManagementConfig } from '@volo/abp.ng.text-template-management/config';
export const appConfig: ApplicationConfig = {
providers: [
// ...
provideTextTemplateManagementConfig()
],
};
文本模板管理模块应被导入并在您的路由数组中进行懒加载。它有一个用于配置的静态 createRoutes 方法。可用选项如下所示。可从 @volo/abp.ng.text-template-management 导入。
// app.routes.ts
const APP_ROUTES: Routes = [
// ...
{
path: 'text-template-management',
loadChildren: () =>
import('@volo/abp.ng.text-template-management').then(c => c.createRoutes(/* options here */)),
},
];
如果您是通过启动模板生成项目的,则无需执行任何操作,因为它已经实现了这两种配置。
选项
您可以通过向 createRoutes 静态方法传递以下选项来修改模块页面的外观和行为:
- entityActionContributors: 更改网格操作。有关详细信息,请查看 Angular 实体操作扩展。
- toolbarActionContributors: 更改页面工具栏。有关详细信息,请查看 Angular 页面工具栏扩展。
- entityPropContributors: 更改表格列。有关详细信息,请查看 Angular 数据表列扩展。
服务 / 模型
文本模板管理模块的服务和模型通过 ABP CLI 的 generate-proxy 命令生成。如果您需要该模块的代理,可以在 Angular 项目目录中运行以下命令:
abp generate-proxy --module textTemplateManagement
可替换组件
eTextTemplateManagementComponents 枚举提供了所有可替换组件的键。可从 @volo/abp.ng.text-template-management 导入。
有关详细信息,请查看 组件替换文档。
远程端点 URL
文本模板管理模块的远程端点 URL 可以在环境文件中配置。
export const environment = {
// 其他配置
apis: {
default: {
url: '默认 URL 写在这里',
},
TextTemplateManagement: {
url: '文本模板管理远程 URL 写在这里'
}
// 其他 API 配置
},
};
上面显示的文本模板管理模块远程 URL 配置是可选的。如果您不设置 URL,将使用 default.url 作为备用。
分布式事件
此模块未定义任何额外的分布式事件。请参阅 标准分布式事件。
抠丁客





