orchardcore-module-creator
4
总安装量
3
周安装量
#48483
全站排名
安装命令
npx skills add https://github.com/orchardcms/orchardcore --skill orchardcore-module-creator
Agent 安装分布
cline
3
github-copilot
3
codex
3
kimi-cli
3
gemini-cli
3
cursor
3
Skill 文档
OrchardCore Module Creator
This skill guides you through creating new OrchardCore modules following project conventions.
Prerequisites
- OrchardCore repository at
D:\orchardcore - .NET SDK 10.0+ installed
Module Creation Workflow
Step 1: Determine Module Type
What kind of module are you creating?
| Type | Description | Key Components |
|---|---|---|
| Content Part | Adds data/behavior to content items | Part, Driver, Views |
| Content Field | Custom field type | Field, Driver, Views |
| Settings | Site-wide configuration | SiteSettings, Driver |
| Admin Feature | Admin pages/tools | Controller, Views, Menu |
| API | REST endpoints | ApiController |
| Background Task | Scheduled jobs | IBackgroundTask |
Step 2: Create Module Directory
# Create module folder
mkdir src/OrchardCore.Modules/OrchardCore.YourModule
cd src/OrchardCore.Modules/OrchardCore.YourModule
Step 3: Create Required Files
Every module needs these three files:
- Manifest.cs – Module metadata
- Startup.cs – Service registration
- OrchardCore.YourModule.csproj – Project file
See references/module-structure.md for templates.
Step 4: Add Components Based on Type
For Content Part modules:
Models/YourPart.cs
ViewModels/YourPartViewModel.cs
Drivers/YourPartDisplayDriver.cs
Views/YourPart.cshtml
Views/YourPart_Edit.cshtml
For Admin modules:
Controllers/AdminController.cs
Views/Admin/Index.cshtml
AdminMenu.cs
PermissionProvider.cs
For Data-storing modules:
Migrations.cs
Indexes/YourIndex.cs
See references/patterns.md for code templates.
Step 5: Register in Startup.cs
public override void ConfigureServices(IServiceCollection services)
{
// Content part
services.AddContentPart<YourPart>()
.UseDisplayDriver<YourPartDisplayDriver>();
// Services
services.AddScoped<IYourService, YourService>();
// Migrations (if storing data)
services.AddDataMigration<Migrations>();
// Permissions (if securing features)
services.AddPermissionProvider<PermissionProvider>();
// Navigation (if adding admin menu)
services.AddNavigationProvider<AdminMenu>();
}
Step 6: Build and Test
# Build the module
cd D:\orchardcore
dotnet build src/OrchardCore.Modules/OrchardCore.YourModule
# Run the application
cd src/OrchardCore.Cms.Web
dotnet run -f net10.0
# Enable the feature in Admin â Features
Quick Reference
Naming Conventions
| Item | Convention | Example |
|---|---|---|
| Module folder | OrchardCore.ModuleName |
OrchardCore.Rating |
| Namespace | OrchardCore.ModuleName |
OrchardCore.Rating |
| Feature ID | OrchardCore.ModuleName |
OrchardCore.Rating |
| Content Part | NamePart |
RatingPart |
| Driver | NamePartDisplayDriver |
RatingPartDisplayDriver |
| View | PartName.cshtml |
RatingPart.cshtml |
| Edit View | PartName_Edit.cshtml |
RatingPart_Edit.cshtml |
Common Dependencies
Add to .csproj as needed:
<!-- Core module support -->
<ProjectReference Include="..\..\OrchardCore\OrchardCore.Module.Targets\OrchardCore.Module.Targets.csproj" />
<!-- Content management -->
<ProjectReference Include="..\..\OrchardCore\OrchardCore.ContentManagement\OrchardCore.ContentManagement.csproj" />
<!-- Admin UI -->
<ProjectReference Include="..\..\OrchardCore\OrchardCore.Admin\OrchardCore.Admin.csproj" />
Feature Categories
Use in Manifest.cs:
Content ManagementContentNavigationSecurityInfrastructureThemingDeveloper
References
references/module-structure.md– Directory layout and file templatesreferences/patterns.md– Code patterns (parts, drivers, handlers, etc.)references/examples.md– Complete module examplesAGENTS.md(repo root) – Coding conventions and build commands