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

时间:2017-07-25 06:46:19

标签: asp.net-mvc orchardcms orchard-modules

我学习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; }

I have new item in menu

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

修改阅读此帖子的新用户

好的,我成功了解了我们可以从网站或代码中删除的内容类型

删除所有" 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;
       }

1 个答案:

答案 0 :(得分:3)

这是由可创建标志引起的。只需删除它即可删除菜单项,无论是在迁移中移除Creatable()还是转到内容类型并取消选中该复选框。