我用的是Lemoon CMS。我创建了一个新的Content,并使用新的字段对其进行了修改,并且它的所有功能都很好。
我创建了一个新的用户控件来显示来自我的内容类型的一些数据,其中的字段("isFeatured=true")
如何自定义代码以过滤内容,以及如何通过自定义添加字段对数据进行排序?
ContentQuery query = new ContentQuery();
query.ParentID = 70;
query.MinDepth = 1;
query.MaxDepth = 1;
query.LanguageMode = LanguageMode.Fallback;
query.SearchNonSearchable = null;
query.ContentTypes.Add(typeof(Mindroute.Lemoon.Generated.ContentType.ServiceItem).FullName);
query.ContentTypeMode = ContentTypeMode.Inherit;
//query.OrderBy.Add(new SortItem(ContentColumn.Columns[6], "desc"));
Response.Write(ContentColumn.Columns[6]);
query.PageSize = 8;
Entries = ContentService.Search(query).Cast<Mindroute.Lemoon.Generated.ContentType.ServiceItem>();发布于 2014-07-20 20:48:18
首先,我认为可以简化获取ServiceItems的代码。您可以简单地使用ContentService.GetChildren<ServiceItem>(70)而不是设置ContentQuery。
要按特定属性进行筛选和排序,可以使用Linq,如下所示:
var children = ContentService.GetChildren<ServiceItem>(70);
var filtered = children.Where(x => x.IsFeatured == true);
var ordered = filtered.OrderBy(x => x.SomeOtherProperty);还可以使用ContentQuery查找具有自定义属性的项,然后需要设置ContentQuery.PropertyValue = new PersistedValue("IsFeatured", true);。
https://stackoverflow.com/questions/24799308
复制相似问题