【发布时间】:2016-05-03 22:04:04
【问题描述】:
我正在尝试向 orchard cms 中的自定义类型添加分类。
ContentDefinitionManager.AlterPartDefinition("ExpertPart",
b => b
.WithField("ExpertOf", fld => fld
.OfType("TaxononmyField")
.WithDisplayName("Expert Of")
.WithSetting("TaxonomyFieldSettings.Taxonomy", "ExpertOf")
.WithSetting("TaxonomyFieldSettings.LeavesOnly", "false")
.WithSetting("TaxonomyFieldSettings.SingleChoice", "true")
.WithSetting("TaxonomyFieldSettings.Required", "true")));
当我运行此代码时,分类显示在内容定义中的“部分”而不是“字段”下。我可以手动将其添加到字段中,并且效果很好。 Orchard 1.10 的新迁移代码是什么,允许您以编程方式将分类字段添加到自定义内容类型?
感谢您对此的帮助!所以我试过了。
ContentDefinitionManager.AlterTypeDefinition("Expert",
b => b.WithPart("ExpertPart"));
ContentDefinitionManager.AlterPartDefinition("ExpertPart",
b => b
.WithField("ExpertOf", fld => fld
.OfType("TaxononmyField")
.WithDisplayName("ExpertOf")
.WithSetting("TaxonomyFieldSettings.Taxonomy", "ExpertOf")
.WithSetting("TaxonomyFieldSettings.LeavesOnly", "false")
.WithSetting("TaxonomyFieldSettings.SingleChoice", "true")
.WithSetting("TaxonomyFieldSettings.Required", "true")));
当我运行此迁移时,然后进入部件的内容定义。内容定义中的“领域”下未列出专家。它列在“零件”下。您无法进入分类设置。这就是发生的事情
此外,内容编辑屏幕没有列出分类。所以我不能将专家部分附加到分类中。
【问题讨论】:
-
您的代码中有错字:
.OfType("TaxononmyField") -
谢谢!一直都是问题。
标签: orchardcms taxonomy custom-taxonomy