【发布时间】: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