docs/en/modules/cms-kit-pro/faq.md
//[doc-seo]
{
"Description": "Discover how to implement and manage the FAQ system in CMS Kit Pro, including enabling features and customizing the user interface."
}
You must have an ABP Team or a higher license to use CMS Kit Pro module's features.
CMS Kit Pro provides an FAQ system to organize questions into groups and sections and display them on public pages. Here is a screenshot of the FAQ widget:
By default, CMS Kit features are disabled. Therefore, you need to enable the features you want before starting to use them. You can use the Global Feature system to enable or disable CMS Kit features at development time. Alternatively, you can use ABP's Feature System to disable a CMS Kit feature at runtime.
Check the "How to Install" section of the CMS Kit Module documentation to see how to enable or disable CMS Kit features at development time.
CMS Kit module admin side adds the following items to the main menu, under the CMS menu item:
FAQs: FAQ group, section and question management page.
CmsKitProAdminMenus class has the constants for the menu item names.
You can list, create, update and delete FAQ groups, sections and questions on the admin side of your solution. A group contains sections, and a section contains questions.
The FAQ system provides an FAQ widget for displaying FAQs. You can place the widget on a page as shown below:
@await Component.InvokeAsync(
typeof(FaqViewComponent),
new
{
groupName = "Community",
sectionName = "Development"
})
FaqViewComponent parameters:
groupName (required): Specifies the FAQ group to show. Create this group on the FAQ administration page before rendering the widget.sectionName (optional): Specifies a section within the selected group. If it is not set, all sections in the group are shown.The FAQ system can also be used in combination with the dynamic widget feature.
FAQ groups are persisted data and are managed from the FAQ administration page. Create groups such as Community or Support, then assign each section to one of those groups. Group names must be unique.
This module follows the Entity Best Practices & Conventions guide.
An FAQ represents a generated FAQ with its questions:
FaqSection (aggregate root): Represents the defined FAQ sections related to the FAQ in the system.FaqQuestion (aggregate root): Represents the defined FAQ questions with section identifier related to the FAQ in the system.FaqGroup (aggregate root): Represents a named group that contains FAQ sections.This module follows the guidelines of Repository Best Practices & Conventions.
The following special repositories are defined for these features:
IFaqSectionRepositoryIFaqQuestionRepositoryIFaqGroupRepositoryThis module follows the Domain Services Best Practices & Conventions guide.
FaqSectionAdminAppService (implements IFaqSectionAdminAppService): Implements the use cases of FAQ section management for admin side.FaqQuestionAdminAppService (implements IFaqQuestionAdminAppService): Implements the use cases of FAQ question management for admin side.FaqGroupAdminAppService (implements IFaqGroupAdminAppService): Implements the use cases of FAQ group management for admin side.FaqSectionPublicAppService (implements IFaqSectionPublicAppService): Implements the use cases of FAQs for public websites.FaqGroupPublicAppService (implements IFaqGroupPublicAppService): Finds FAQ groups by name for public widgets.All tables/collections use the Cms prefix by default. Set static properties on the AbpCmsKitDbProperties class if you need to change the table prefix or set a schema name (if supported by your database provider).
This module uses CmsKit for the connection string name. If you don't define a connection string with this name, it falls back to the Default connection string.
See the connection strings documentation for details.