编程语言
首页 > 编程语言> > c# – 获取按创建日期排序的Sitecore项目

c# – 获取按创建日期排序的Sitecore项目

作者:互联网

我想获取一些Sitecore项目,然后按照创建日期对它们进行排序,最先使用最新项目.

我有以下代码(代码段):

itemID = Constants.BucketIds.NEWS;
Item pressItem = context.GetItem(itemID);
var pressChildItems = context
    .SelectItems("/sitecore/content" + pressItem.Paths.ContentPath + "/*")
    .OrderByDescending(x => x.Fields[Sitecore.FieldIDs.Created]);
foreach (Item childItem in pressChildItems)
{
    // DO SOMETHING
}

我收到以下错误:

At least one object must implement IComparable.

我不确定我应该如何解决这个问题.

解决方法:

不要按字段排序,按其值排序.从您的行中删除.Fields:

var pressChildItems = context
    .SelectItems("/sitecore/content" + pressItem.Paths.ContentPath + "/*")
    .OrderByDescending(x => x[Sitecore.FieldIDs.Created]);

日期存储为yyyyMMddHHmmss …字符串,因此按值排序为字符串将产生与从字段获取日期值和使用日期排序完全相同的效果.

标签:c,sitecore,sitecore8
来源: https://codeday.me/bug/20190611/1220910.html