Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge branch dev with rel-4.4 #9673

Merged
merged 2 commits into from
Jul 28, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/en/Modules/Cms-Kit/Index.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down
88 changes: 88 additions & 0 deletions docs/en/Modules/Cms-Kit/Menus.md
Original file line number Diff line number Diff line change
@@ -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
Binary file added docs/en/images/cmskit-module-menus-page.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/en/images/cmskit-module-menus-public.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.