果园:从仪表板内的菜单中删除项目

Orchard: Remove items from menu inside dashboard

我正在学习 Orchard,但我没有成功从菜单中删除项目(在仪表板内部而不是站点), 我使用本指南创建新模块 Writing a Content Part.

我的迁移看起来:

public int Create(){ // Creating table MapRecord SchemaBuilder.CreateTable("MapRecord", table => table .ContentPartRecord() .Column("Latitude", DbType.Double) .Column("Longitude", DbType.Double) ); ContentDefinitionManager.AlterPartDefinition( typeof(MapPart).Name, cfg => cfg.Attachable()); ContentDefinitionManager.AlterTypeDefinition("Map", builder => builder .WithPart("CommonPart") .WithPart("TitlePart") .WithPart("MapPart") .Creatable() .Draftable()); return 1; }

我的新模块工作正常,但现在我想从菜单中删除 "Map" 我该怎么做?

为阅读本文的新用户编辑post

好的,我成功了,我们可以从站点或代码中删除与内容类型相关的内容

删除所有 "Map" 类型(如 devqon 在评论中所说)

public int UpdateFrom3()
        {
            ContentDefinitionManager.DeleteTypeDefinition("Map");

            return 4;
        }

更好的选择,我们可以取消标记 Creatable()

    public int UpdateFrom3()
       {

             ContentDefinitionManager.AlterTypeDefinition("Map", builder =>
              builder
                  .WithPart("CommonPart")
                  .WithPart("TitlePart")
                  .WithPart("MapPart")
                  .Creatable(false)
                  .Draftable());

             return 4;
       }

这是creatable标志引起的。只需将其删除即可删除菜单项,在迁移过程中通过删除 Creatable() 或转到内容类型并取消选中复选框。