【问题标题】:Orchard: Remove items from menu inside dashboard果园:从仪表板内的菜单中删除项目
【发布时间】:2017-07-25 16:45:01
【问题描述】:

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

我的新模块工作正常,但现在我想从菜单中删除“地图” 我是怎么做到的?

为阅读这篇文章的新用户编辑

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

删除所有“地图”类型(如评论中所说的 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;
       }

【问题讨论】:

  • 我希望你没有真正申请你的.DeleteTypeDefinition("Map")?这会将您的 Map 类型作为一个整体移除,而不仅仅是从菜单中移除
  • 是的,我看到了 :) 我只是练习,现在我试图从代码中取消标记 Creatable()
  • 如果您已经将其标记为Creatable(),您可以使用.Creatable(false) 新建一个UpdateFromN

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2013-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-17
    • 2014-07-02
    • 2020-02-19
    • 1970-01-01
    相关资源
    最近更新 更多