项目

CMS Kit Pro:常见问题系统

必须拥有 ABP Team 或更高级别许可 才能使用 CMS Kit Pro 模块的功能。

CMS 工具包提供常见问题系统,允许用户创建、编辑和删除常见问题。以下是常见问题小部件的截图:

cmskit-module-faq-widget

启用常见问题系统

默认情况下,CMS 工具包功能处于禁用状态。因此,在使用前需要启用所需功能。您可以通过全局功能系统在开发时启用/禁用 CMS 工具包功能,或使用 ABP 框架的功能系统在运行时禁用 CMS 工具包功能。

请查阅 CMS Kit 模块文档的"如何安装"章节了解如何在开发时启用/禁用 CMS 工具包功能。

用户界面

菜单项

CMS Kit 模块管理端在CMS菜单项下添加以下菜单项:

常见问题:常见问题管理页面。

CmsKitProAdminMenus 类包含菜单项名称的常量定义。

页面

您可以在解决方案的管理端对常见问题的版块及其问题进行列表展示、创建、更新和删除操作。

faq-page faq-edit-page faq-edit-question-page

常见问题小部件

常见问题系统提供常见问题小部件,用于展示常见问题内容。您可以通过以下方式在页面中放置小部件:

@await Component.InvokeAsync(
    typeof(FaqViewComponent),
    new
    {
        groupName = "Community",
        name = "Development"
    })

FaqViewComponent 参数说明:

  • groupName(可选):指定要显示的常见问题分组。未指定时显示所有分组
  • sectionName(可选):确定指定分组内要显示的版块。未指定时显示相关分组的所有版块

常见问题系统还可与动态小部件功能结合使用。

配置选项

常见问题系统提供按分组名称对版块进行分组的机制。例如,若需在社区和支持页面使用常见问题系统,需要定义名为 Community 和 Support 的两个分组,并在这些分组下添加版块。在使用常见问题系统前,需先定义分组。您可以通过 FaqOptions 进行配置,在模块ConfigureServices 方法中配置领域层:

Configure<FaqOptions>(options =>
{
    options.SetGroups(new[] { "General", "Community", "Support" });
});

FaqOptions 属性说明:

  • Groups:常见问题系统中已定义分组的字典。options.SetGroups 方法是向该字典添加新分组的快捷方式

内部实现

领域层

聚合根

本模块遵循实体最佳实践与规范指南。

常见问题

常见问题表示包含问题的生成内容:

  • FaqSection(聚合根):代表系统中与常见问题相关的已定义版块
  • FaqQuestion(聚合根):代表系统中包含版块标识符的已定义问题

存储库

本模块遵循存储库最佳实践与规范指南。

为这些功能定义了以下专用存储库:

  • IFaqSectionRepository
  • IFaqQuestionRepository

领域服务

本模块遵循领域服务最佳实践与规范指南。

应用层

应用服务

  • FaqSectionAdminAppService(实现 IFaqSectionAdminAppService):实现管理端常见问题版块管理的用例
  • FaqQuestionAdminAppService(实现 IFaqQuestionAdminAppService):实现管理端常见问题管理的用例
  • FaqSectionPublicAppService(实现 IFaqSectionPublicAppService):实现公开网站常见问题的用例

数据库提供程序

通用配置

数据表/集合前缀与模式

所有数据表/集合默认使用 Cms 前缀。如需修改表前缀或设置模式名称(如果数据库提供程序支持),可设置 CmsKitDbProperties 类的静态属性。

连接字符串

本模块使用 CmsKit 作为连接字符串名称。若未定义该名称的连接字符串,将回退使用 Default 连接字符串。

详见连接字符串文档。

Entity Framework Core

数据表
  • CmsFaqSections
  • CmsFaqQuestions

MongoDB

集合
  • CmsFaqSections
  • CmsFaqQuestions

实体扩展

请查阅 CMS Kit 模块文档的"实体扩展"章节了解如何扩展 CMS Kit Pro 模块常见问题功能的实体。

在本文档中