Orchardcms 在Orchard模块中添加配置项

Orchardcms 在Orchard模块中添加配置项,orchardcms,Orchardcms,我想知道如何在Orchard模块中添加可配置项(类似于webapp中的appsettings键值)。有谁能给我指出web上正确的源/url吗?我认为实现这一点的正确方法是创建记录并利用orchards数据库迁移功能。Orchard完成了繁重的工作,最终您将得到一个强类型对象和存储库!我相信Orchard网站上的示例对自定义内容类型使用了这种技术,但是您可以创建它们,而不必创建模型 public class Item { public string Key {get;set;} pub

我想知道如何在Orchard模块中添加可配置项(类似于webapp中的appsettings键值)。有谁能给我指出web上正确的源/url吗?

我认为实现这一点的正确方法是创建记录并利用orchards数据库迁移功能。Orchard完成了繁重的工作,最终您将得到一个强类型对象和存储库!我相信Orchard网站上的示例对自定义内容类型使用了这种技术,但是您可以创建它们,而不必创建模型

public class Item {
   public string Key {get;set;}
   public string Value {get;set;}
}
然后在迁移过程中,使用与模型名称相同的表名定义表

 SchemaBuilder.CreateTable("Item",
              table => table
               .Column<string>("Key",column => column.PrimaryKey().Identity())
               .Column<string>("Value", column => column.NotNull()
                  .WithLength(30)
schemabilder.CreateTable(“项”,
表=>表
.Column(“Key”,Column=>Column.PrimaryKey().Identity())
.Column(“Value”,Column=>Column.NotNull()
.长度(30)
然后您可以在需要的地方注入一个存储库

public class MyDriver : ContentFieldDriver<MyPart>
{
  public MyDriver(IRepository<Item> itemRepository) {... }
公共类MyDriver:ContentFieldDriver
{
公共MyDriver(IRepository itemRepository){…}

就是这样!

Orchard拥有丰富的设置基础设施。它不像appsettings.config那样简单,但功能更强大。您可以向站点添加设置(显示在仪表板的主“设置”部分)或用于特定内容类型、内容部分、字段,甚至是附加到特定内容类型的部分。您可以定义自定义设置部分,以便最终用户可以通过仪表板管理您的设置

有关站点设置和内容类型设置的示例,您可以查看Orchard.Comments模块。还有一些关于在模块中创建自己的自定义设置的好博客帖子: