Orchard从ContentItem类型获取字段

时间:2014-01-24 07:53:49

标签: orchardcms orchardcms-1.7

我有一个名为Event的内容项,它有一个名为Section的分类字段,通过内容定义区域附加。

从备用内容中检索“部分”字段的 最简单 方式是什么?我的备用 不是 覆盖事件,因此无法使用Model.ContentItem。在我的备用内,我的Event对象实例是ContentItem类型,我通过ContentManager检索它。

这就是我现在正在做的事情:

ContentItem content = WorkContext.Resolve<IContentManager>().Get(id);
var = content.Parts.ElementAt(13).Fields.ElementAt(0);

我意识到在上面的代码中索引可以改变,我能想到的另一种方法是在整数的位置插入Lambda表达式。

content.Parts.ElementAt(13)返回ContentPart类型的对象 content.Parts.ElementAt(13)。.Fields.ElementAt(0)返回TaxonomyField类型的对象。我相信我需要TermPart吗?

如果不能以简单的方式实现,为什么执行如此简单的任务如此困难?

提前谢谢。

1 个答案:

答案 0 :(得分:2)

首先,您不需要模板上的ContentManager。

在模型上,您拥有ContentItem。你可以像这样反复这个领域:

var contentItem = Model.ContentItem;
var terms = contentItem.Event.TaxonomyFieldName.Terms;

根据条款,您拥有ContentItem的条款。