我正在寻找一种方法来查找包含某些标签的所有页面。对于文件,我可以这样做:
// convert list of tags to list of Guids
var tagGuids = GetGuidsForTags(tags);
// find all items with one of these tags
return App.WorkWith().Documents()
.Where(ni => ni.GetValue<IList<Guid>>("Tags").Any(tag => tagGuids.Contains(tag)) &&
ni.Status == ContentLifecycleStatus.Live
)
.Get().DistinctBy(x => x.Id).ToList();
但是,当App.WorkWith().Pages()
我改为使用时,我收到一条错误消息,指出 PageNode 没有名为“Tags”的自定义字段。
Telerik.Sitefinity.Model.dll 中出现“System.Exception”类型的异常,但未在用户代码中处理
附加信息:类型“Telerik.Sitefinity.Pages.Model.PageNode”的错误自定义字段“标签”
有谁知道如何获取包含某些标签的页面列表?我正在使用 Sitefinity 8.1。
为了澄清我没有在我的页面中添加自定义标签字段。当我这样做时,我会两次获得该领域:
所以 Sitefinity 似乎默认有一个 Tags 字段......