需要使用 Umbraco 在 Razor 中显示每个类别的前 n 项
Need to display first n items from each category in Razor using Umbraco
我是 Umbraco 的新手。我在名为视频的内容中有一个项目列表。每个项目都有一个特定的类别。我需要从每个类别中检索 'n' 个项目。有人请帮忙。我也在使用 MixItUp jquery 插件来显示项目。
// this will bring up all items from the list
var items = Umbraco.TypedContent(Model.Content.Id).Children.Where(x => x.DocumentTypeAlias == "videoItem" && x.IsVisible());
// Here am trying to bring 5 items under category "Testimonial"
var allItems = items.Where(x => x.GetPropertyValue("category") == "Testimonial").Take(5);
但是我没有找到任何输出。请帮忙。
您的第二行代码应为:
var allItems = items
.Where(x => x.GetPropertyValue<string>("category") == "Testimonial")
.Take(5);
这不是简单地将结果转换为字符串,而是尝试将对象转换为所需类型(如果尚未转换)- see here.
如果您使用的是新的 ModelsBuilder(非常棒),您还可以选择强类型化整个过程。
var items = Model.Content.Children<VideoItem>().Where(x => x.IsVisible());
var allItems = items.Where(x => x.Category == "Testimonial").Take(5);
我是 Umbraco 的新手。我在名为视频的内容中有一个项目列表。每个项目都有一个特定的类别。我需要从每个类别中检索 'n' 个项目。有人请帮忙。我也在使用 MixItUp jquery 插件来显示项目。
// this will bring up all items from the list
var items = Umbraco.TypedContent(Model.Content.Id).Children.Where(x => x.DocumentTypeAlias == "videoItem" && x.IsVisible());
// Here am trying to bring 5 items under category "Testimonial"
var allItems = items.Where(x => x.GetPropertyValue("category") == "Testimonial").Take(5);
但是我没有找到任何输出。请帮忙。
您的第二行代码应为:
var allItems = items
.Where(x => x.GetPropertyValue<string>("category") == "Testimonial")
.Take(5);
这不是简单地将结果转换为字符串,而是尝试将对象转换为所需类型(如果尚未转换)- see here.
如果您使用的是新的 ModelsBuilder(非常棒),您还可以选择强类型化整个过程。
var items = Model.Content.Children<VideoItem>().Where(x => x.IsVisible());
var allItems = items.Where(x => x.Category == "Testimonial").Take(5);