diff --git a/docs/en/Modules/Cms-Kit/Index.md b/docs/en/Modules/Cms-Kit/Index.md index fbdc37ec18..eb08a0c53c 100644 --- a/docs/en/Modules/Cms-Kit/Index.md +++ b/docs/en/Modules/Cms-Kit/Index.md @@ -12,6 +12,7 @@ The following features are currently available: * Provides a [**comment**](Comments.md) system to add comments feature to any kind of resource, like blog post or a product review page. * Provides a [**reaction**](Reactions.md) system to add reactions (smileys) feature to any kind of resource, like a blog post or a comment. * Provides a [**rating**](Ratings.md) system to add rating feature to any kind of resource. +* Provides a [**menu**](Menus.md) system to manage public menus dynamically. Click to a feature to understand and learn how to use it. diff --git a/docs/en/Modules/Cms-Kit/Menus.md b/docs/en/Modules/Cms-Kit/Menus.md new file mode 100644 index 0000000000..87486326da --- /dev/null +++ b/docs/en/Modules/Cms-Kit/Menus.md @@ -0,0 +1,88 @@ +# CMS Kit: Pages + +CMS Kit Menu system allows to manage public menus dynamically. + +## The User Interface + +### Menu items + +CMS Kit module admin side adds the following items to the main menu, under the *CMS* menu item: + +* **Menus**: Menu management page. + +`CmsKitAdminMenus` class has the constants for the menu item names. + +### Menus + +#### Menu Management + +Menus page is used to manage dynamic public menus in the system. + +![cms-kit-menus-page](../../images/cmskit-module-menus-page.png) + + + +Created menus will be visible on public site. + +![cms-kit-public-menus](../../images//cmskit-module-menus-public.png) + +# Internals + +## Domain Layer + +#### Aggregates + +This module follows the [Entity Best Practices & Conventions](https://docs.abp.io/en/abp/latest/Best-Practices/Entities) guide. + +##### Menus + +- `MenuItem` (aggregate root): A Menu Item presents a single node at menu tree. + +#### Repositories + +This module follows the [Repository Best Practices & Conventions](https://docs.abp.io/en/abp/latest/Best-Practices/Repositories) guide. + +Following custom repositories are defined for this feature: + +- `IMenuItemRepository` + +#### Domain services + +This module follows the [Domain Services Best Practices & Conventions](https://docs.abp.io/en/abp/latest/Best-Practices/Domain-Services) guide. + +##### Menu Item Manager + +`MenuItemManager` is used to perform some operations for the `MenuItemManager` aggregate root. + +### Application layer + +#### Application services + +- `MenuItemAdminAppService` (implements `IMenuItemAdminAppService`): Implements the management operations of menu system. +- `MenuItemPublicAppService` (implements `IMenuItemPublicAppService`): Implements the public use cases of menu system. + +### Database providers + +#### Common + +##### Table / collection prefix & schema + +All tables/collections use the `Cms` prefix by default. Set static properties on the `CmsKitDbProperties` class if you need to change the table prefix or set a schema name (if supported by your database provider). + +##### Connection string + +This module uses `CmsKit` for the connection string name. If you don't define a connection string with this name, it fallbacks to the `Default` connection string. + +See the [connection strings](https://docs.abp.io/en/abp/latest/Connection-Strings) documentation for details. + +#### Entity Framework Core + +##### Tables + +- CmsMenuItems + +#### MongoDB + +##### Collections + +- CmsMenuItems \ No newline at end of file diff --git a/docs/en/images/cmskit-module-menus-page.png b/docs/en/images/cmskit-module-menus-page.png new file mode 100644 index 0000000000..c265763788 Binary files /dev/null and b/docs/en/images/cmskit-module-menus-page.png differ diff --git a/docs/en/images/cmskit-module-menus-public.png b/docs/en/images/cmskit-module-menus-public.png new file mode 100644 index 0000000000..0b67064334 Binary files /dev/null and b/docs/en/images/cmskit-module-menus-public.png differ